Tez No İndirme Tez Künye Durumu
232474
Improving the performance of software defect predictors with internal and external information sources / Dahili ve harici bilgi kaynakları ile yazılım hata tahmini performansının iyileştirilmesi
Yazar:BURAK TURHAN
Danışman: YRD. DOÇ. DR. AYŞE BAŞAR BENER
Yer Bilgisi: Boğaziçi Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Bölümü / Bilgisayar Mühendisliği Ana Bilim Dalı
Konu:Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin:
Onaylandı
Doktora
İngilizce
2008
149 s.
Bu tezde, yazılım hata tahmini probleminin, yazılım karakteristiklerinin statik kod ölçütleriyle temsil edildiği ve hata tahmin modellerinin geçmiş hata kayıtlarından öğrenildiği veri madenciliği perspekti ? nden analizi yapılmıştır. Hata tahmin modelleri oluşturmak için uygulanan veri madenciliği metodlarının, statik kod ölçütlerindeki kısıtlı bilgi içeriğinden dolayı üst performans limitlerine ulaştığı gözlemlenmiştir. Bu sebeple, yeni ölçütler kullanmadan, verideki bilgi içeriğinin arttırılması hede ? enmiştir. Çünkü yeni ölçütlerin toplanması ya maliyetli olmaktadır ya da her durumda mümkün olmamaktadır. Veri madenciliği metodları bilgi içeriği açısından zengin veriler ile beslenmiştir. Bu amaçla 1) veri madenciliği metodlarının varsayımları, 2) birden çok şirketin proje verilerinin kullanılması, 3) yazılım modülleri arasındaki ilişkilerin modellenmesi analizleri gerçekleştirilmiştir. İlk analizde, naive Bayes metodunun ölçütlerin i) bağımsızlığı ve ii) eşit öneme sahip oldukları varsayımları ortadan kaldırılmıştır. Daha sonra yerel ve yabancı veriyle öğrenilen hata tahmin modelleri karşılaştırılmıştır. Son olarak, modül ilişkilerini modellemek için çağrı gra ? kleri analizi yapılmıştır. Kamuya açık endüstriyel veriler üzerinde yapılan analiz sonucunda: 1) naive Bayes varsayımlarının ortadan kaldırılmasının hata tahmini performansını arttırabildiği, 2) yabancı verilerle öğrenilen hata tahmini modellerinin hata yakalama kapasitelerinin -fazla yanlış alarm maliyetiyle- çok yüksek olduğu; ancak bu maliyetin önerilen süzme tekniğiyle ortadan kaldırılabildiği, 3) önerilen ilişki modeli ile yanlış alarmların azaltılabildiği gözlemlenmiştir. Yapılan analizler 1) yerel veri olmadığı durumlarda yabancı veriylehata tahmini yapabilmek, 2) yerel verilerle tahmin performansını arttırmak açısından yol gösterici ilkeler sağlamaktadır.
In this dissertation, we make an analysis of software defect prediction problem from a data mining perspective, where software characteristics are represented with static code features and defect predictors are learned from historical defect logs. We observe that straightforward applications of data mining methods for constructing defect predictors have reached a performance limit due to the limited information content in static code features. Therefore, we aim at increasing the information content in data without introducing new features, since collecting these may either be expensive or not possible in all contexts. We feed data mining methods with richer data in terms of information content. For this purpose, we propose the following methods: 1) relaxing the assumptions of data miners, 2) using project data from multiple companies, 3) modeling the interactions of software modules. For the first method, we use naive Bayes data miner and remove its i) independence and ii) equal importance of features assumptions. Then we compare the performance of defect predictors learned from local and remote data. Finally, we introduce call graph technique to model the interactions of modules. Our results on public industrial data show that: 1) relaxing the assumptions of naive Bayes may increase defect prediction performance significantly, 2) predictors learned from remote data have great capability of detecting defects at the cost of high false alarms, however this cost can be removed with the proposed filtering method 3) proposed way of modeling interactions may decrease the false alarm rates significantly. Our techniques provide guidelines for 1) employing defect prediction using remote information sources when local data are not available, 2) increasing prediction performances using local information sources.