Tez No İndirme Tez Künye Durumu
312066
Improving performance of defect predictors using confirmation bias metrics / Doğrulama sapması metrikleri ile yazılımda hata tahmini performansının iyileştirilmesi
Yazar:HANDAN GÜL ÇALIKLI
Danışman: PROF. DR. AYŞE BENER ; PROF. DR. OĞUZ TOSUN
Yer Bilgisi: Boğaziçi Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Konu:Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control ; Psikoloji = Psychology
Dizin:
Onaylandı
Doktora
İngilizce
2011
156 s.
Hata tahmini modelleri, yöneticilere bir yazılımda test edilmesi gereken kısımların önceliklendirilmesinde yardımcı olur. Yazılımda hata tahmini için kullanılan algoritmalar performans sınırılarına ulaşmıştır, öyleki daha ileri gelişmeler ancak giriş veri-lerinin içeriğini arttırmakla olabilir. Bu tezin amacı, yazılımcıların doğrulama sapması seviyelerini kullanarak performans limitini aşan hata tahmini modelleri oluşturmaktır. Doğrulama sapması metriklerini elde etmek için bir metodoloji tanımladıktan sonra sırası ile şu aşamaları gerçekleştirdik: i) yazılımcı ve testçilerin doğrulama sapması seviyelerini etkilemesi olası faktörlerin incelenmesi, ii) doğrulama sapmasının yazılımcı ve testçi performansını nasıl etkilediğine dair deneysel analizlerin yapılması, iii) statik kod ve doğrulama sapması metrikleri ile kaynak kod dosyalarında yapılan değişikliklerden elde edilen metriklerin değişik kombinasyonlarda kullanılmasıyla oluşturulan hata tahmini modellerinin karşılaştırmalı performans analizinin yapılması, iv) eksik doğrulama sapması metrik değerleri ile hata tahmini modellerini oluşturma metodolojisinin tanım-lanması. Endüstriyel verileri kullanarak şu sonuçları elde ettik: i) yazılım geliştirme ve test etme deneyiminin doğrulama sapması üzerinde etkisine rastlanmamıştır, öte yandan hipotez test etme ve muhakeme becerilerinin doğrulama sapması üzerinde etkileri gözlemlenmiştir, ii) yazılımcıların doğrulama sapması, yazılımda hata miktarı artışına neden olurken, testçilerin doğrulama sapması sürüm sonrası hata miktarının artmasına neden olmaktadır, iii) sadece doğrulama sapması metrikleri ile elde edilen hata tahmin performansının sadece statik kod veya kaynak kod dosyalarında yapılan değişikliklere ilişkin metriklerle elde edilen hata tahmini performansından daha iyi ya da bu değerlere yakın olduğu gözlemlenmiştir, iv) Eksik doğrulama sapması metrikleri ile kayda değer hata tahmini performansı elde edilmiştir.
Software defect prediction models help managers to prioritize their testing effort. Algorithms, which are used to learn defect predictors, have reached a ceiling such that further improvements may only come from increasing information content of input data. The main goal of this research is to build defect predictors which are learnt from developers' levels of confirmation bias, which is defined as tendency of people to seek for evidence to verify hypotheses rather than seeking for evidence to refute them. Our main goal is to overcome the ceiling effect in defect prediction performance. As a first step, we define a methodology to measure/quantify confirmation bias and then we perform the following empirical analysis: i) investigation of factors which have the potential to affect confirmation bias levels of software developers and testers, ii) empirical analysis of how confirmation bias affects software developer and tester performance, iii) a benchmark analysis comparing performance of defect predictors which use combinations of static code, confirmation bias and churn metrics, iv) defining a methodology to build defect predictors which can learn using incomplete confirmation bias metric values as input. Our results on industrial data show that: i) no effect of experience in software development/testing has been observed on confirmation bias, whereas hypotheses testing and reasoning skills affect confirmation bias, ii) confirmation biases of developers lead to an increase in defects, while testers' confirmation bias causes an increase post-release defects, iii) using only confirmation bias metrics, we can build defect predictors with higher or comparable prediction performance when compared to defect predictors that are learnt by using only churn metrics or only static code metrics, iv) promising results can also be obtained by using incomplete confirmation bias metric values to learn defect predictors.