Tez No İndirme Tez Künye Durumu
320749
Software defect prediction using bayesian networks and kernel methods / Bayesian ağları ve çekirdek yöntemleri ile yazılım hata tahmini
Yazar:AHMET OKUTAN
Danışman: DOÇ. DR. OLCAY TANER YILDIZ
Yer Bilgisi: Işık Ü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
Dizin:
Onaylandı
Doktora
İngilizce
2012
148 s.
Literaturde kullanlan cok cesitli yazlm olcutleri mevcuttur. Cok sayda olcutle hata tahmini yapmak yerine, en onemli olcut kumesini belirleyip bu kumedeki olcutleri hata tahmininde kullanmak daha pratik ve kolay olacaktr. Bu tezde yazlm olcutleri ile hataya yatkınlık arasndaki etkilesimi ortaya cikarmak icin Bayesian modelleme yontemi kullanlmistir. Promise veri deposundaki yazilim olcutlerine ek olarak, yazilimgelistiricisi sayisi (NOD) ve kaynak kodu kalitesi (LOCQ) adli 2 yeni olcut tanmlanmistir. Bu olcutleri cikarmak icin Promise veri deposundaki veri kumelerinin acik kaynak kodlarikullanilmistir. Yapilan modelleme sonucunda, hem sinanan sistemin hatali olma ihtimali,hem de en etkili olcut kumesi bulunmaktadr. 9 Promise veri kumesi uzerindeki deneyler, RFC, LOC ve LOCQ olcutlerinin en etkili olcutler oldugunu, CBO, WMC ve LCOM olcutlerinin ise daha az etkili oldugunu ortaya koymustur. Ayrca, NOC ve DIT olcutlerinin sınırlı bir etkiye sahip oldugu ve guvenilir olmadıgı gozlemlenmistir. Ote yandan, Poi, Tomcat ve Xalan veri kumeleri uzerinde yaplan deneyler sonucunda, yazılım gelistirici sayısı (NOD) ile hata seviyesi arasnda dogru orantı oldugu sonucuna varılmıstır. Bununla birlikte, tespitlerimizi dogrulamak icin daha fazla veri kumesi uzerinde deney yapmaya ihtiyac vardr.
There are lots of different software metrics discovered and used for defect prediction in the literature. Instead of dealing with so many metrics, it would be practical and easy if we could determine the set of metrics that are most important and focuson them more to predict defectiveness. We use Bayesian modeling to determine the influential relationships among software metrics and defect proneness. In addition to the metrics used in Promise data repository, we define two more metrics, i.e. NOD for the number of developers and LOCQ for the source code quality. We extract these metrics by inspecting the source code repositories of the selected Promise data repositorydata sets. At the end of our modeling, we learn both the marginal defect proneness probability of the whole software system and the set of most eective metrics. Our experiments on nine open source Promise data repository data sets show that response for class (RFC), lines of code (LOC), and lack of coding quality (LOCQ) are the most eective metrics whereas coupling between objects (CBO), weighted method per class(WMC), and lack of cohesion of methods (LCOM) are less effective metrics on defect proneness. Furthermore, number of children (NOC) and depth of inheritance tree (DIT) have very limited effect and are untrustworthy. On the other hand, based on the experiments on Poi, Tomcat, and Xalan data sets, we observe that there is a positive correlation between the number of developers (NOD) and the level of defectiveness. However, further investigation involving a greater number of projects, is needed to confirm our findings.