Basit öğe kaydını göster

dc.contributor.advisorYıldız, Olcay Taneren_US
dc.contributor.authorOkutan, Ahmeten_US
dc.contributor.otherIşık Üniversitesi, Fen Bilimleri Enstitüsü, Bilgisayar Mühendisliği Doktora Programıen_US
dc.date.accessioned2016-05-31T12:07:36Z
dc.date.available2016-05-31T12:07:36Z
dc.date.issued2012-07-01
dc.identifier.citationOkutan, A. (2002). Software defect prediction using Bayesian networks and kernel methods. İstanbul: Işık Üniversitesi Fen Bilimleri Enstitüsü.en_US
dc.identifier.urihttps://hdl.handle.net/11729/891
dc.descriptionText in English; Abstract: English and Turkishen_US
dc.descriptionIncludes bibliographical references (leaves 115-127)en_US
dc.descriptionxix, 128 leavesen_US
dc.description.abstractThere 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 focus on them more to predict defectiveness. We use Bayesian modelling 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 wxtract these metrics by inspecting the source code repositories of the selected Promise data repository data 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 effective metrics. Our experiments on nine open source Promise data repository data sets show that respense for class (RFC), lines of code (LOC), and lack of coding quality (LOCQ) are the most efective metrics whereas coupling between objets (CBO), weighted method per class (WMC), and lack of cohesion of methods (LCOM) are less efective metris on defect proneness. Furthermore, number of children (NOC) and depth of inheritance tree (DIT) have very limited effect and are unstustworthy. On tthe 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, futher investigation involving a greater number of projects, is need to confirm our findings. Furthermore, we propose a novel technique for defect prediction that uses plagiarism detection tools. Although the defect prediction problem haz been researched for a long time, the results achieved are not so bright. We use kernel programming to model the relationship between source code similarity and defectiveness. Each value in the kernel matrix shows how much parallelism exit between the corresponding files ib the kernel matrix shows how much parallelism exist between the corresponding files in the software system chosen. Our experiments on 10 real world datasets indicate that support vector machines (SVM) with a precalculated kernel matrix performs better than the SVM with the usual linear and RBF kernels and generates comparable results with the famous defect prediction methods like linear logistic regression and J48 in terms of the area under the curve (AUC).Furthermore, we observed that when the amount of similarity among the files of a software system is high, then the AUC found by the SVM with precomputed kernel can be used to predict the number of defects in the files or classes of a software system, because we observe a relationship between source code similarity and the number of defects. Based on the results of our analysis, the developers can focus on more defective modules rather than on less or non defective ones during testing activities. The experiments on 10 Promise datasets indicate that while predicting the number of defects, SVM with a precomputed kernel performs as good as the SVM with the usual linear and RBF kernels, in terms of the root mean square error (RMSE). The method proposed is also comparable with other regression methods like linear regression and IBK. The results of these experiments suggest that source code similarity is a good means of predicting both defectiveness and the number of defects in software modules.en_US
dc.description.abstractLiteratürde kullanılan çok çeşitli yazılım ölçütleri mevcuttur. Çok sat-yıda ölçütle hata tahmini yapmak yerine, en önemli ölçüt kümesini belirleyip bu kümedeki ölçütleri hata tahmininde kullanmak daha pratik ve kolay olacaktır. Bu tezde yazılım ölçütleri ile hataya yarkınlık arasındaki etkileşimi ortaya çıkarmak için Bayesian modelleme yöntemi kullanılmıştır. Promise veri deposundaki yazılım ölçütlerine ek olarak, yazılım geliştiricisi sayısı (NOD) ve kaynak kodu kalitesi (LOCQ) adlı 2 yeni ölçüt tanımlanmıştır. Bu ölçütleri çıkarmak için Promise veri depesundaki veri kümelerinin açık kaynak kodları kullanılmıştır. Yapılan modelleme sonucunda, hem sınanan sistemin hatalı olm aihtimali, hem de en etkili ölçüt künesi bulunmaktadır. 9 Promise veri kümesi üzerindeki deneyler, RFC, LOC ve LOCQ ölçütlerinin en etkili ölçütler olduğunu, CBO, WMC ve LCOM ölçütlerinin ise daha az etkili olduğunu ortaya koymuştur. Ayrıca, NOC ve DIT ölçütlerinin sınırlı bir etkiye sahip olduğu ve güvenilir olmadığı gözlemlenmiştir. Öte yandan, Poi, Tomcat Xalan veri kümeleri üzerinde yapılan deneyler sonucunda, yazılım geliştici sayısı (NOD) ile hata seviyesi arasında doğru orantı olduğu sonucuna varılmıştır. Bununla birlikte, tespitlerimizi doğrulamak için daha fazla veri kümesi üzerinde deney yapmaya ihtiyaç vardır. Ayrıca bu tezde, hata tahmini için intihal tespit araçlarını kullanan yeni bir yöntem önerilmiştir. Hata tahmini için intihal tespit araçlarını kullanan yeni bir yöntem önerilmiştir. Hata tahmin problemi ve uzun zamandan beri araştırılmaktadır, fakat ortaya çıkan sonuçlar çok parlak değildir. Farklı bir bakış açısı getirmek üzere, kaynak kod benzerliği ve hataya yatkınlık arasındaki ilişkiyi modelleyen çekirdek metodu yöntemi kullanılmıştır. Bu yöntemde, üretilen çekirdek matrisindeki her bir değer, matrisin satır ve sütunda bulubab kaynak kodu dosyaları arasındaki parelelliği göstermektedir. 10 veri kümesi üzerindeki deneyler, önceden hesaplanmış çekirdek matrisi kullanan SVM yönteminin, doğrusal veya RBF çekirdek kullanan SVM yöntemlerine göre daha başarılı olduğunu ayrıca mevcut hata tahmin yöntemleri doğrusal lojistik regresyon ve J48 ile benzer sonuçlar ürettiğini göstermiştir. Ayrıca, bir yazılım sistemi içerisinde bulubab dosyalar arasındaki kod benzerliğinin daha fazla olduğunu durumlarda, ROC eğrisi altındaki alan (AUC) ölçütünün de daha yüksek olduğu görülmüştür. Ayrıca, önceden hesaplanmış çekirdek matris kullanan SVM yönteminin, hata sayısı ile kaynak kodu benzerliği arasında gözlemlenen ilişkiden ötürü, bir yazılım sistemindeki hata sayısının tahmin edilmesinde de kullanılabileceği gösterilmiştir. Yapılan analiz sonucunda, yazılım geliştiriciler hatasız veya daha az hatalı modüllere odaklanmak yerine, daha fazla hata içeren modüllere odaklanabilirler. 10 Promise veri kümesi üzerinde yapılan deneyler, hata sayısını tahmin ederken, önceden hesaplanan çekirdek matris kullanan SVM yönetiminin ortalama karesel hata (RMSE) açısından doğrusal ve RBF çekirdek kullanan SVM yöntemi kadar başarılı olduğunu göstermiştir. Uygulana yöntem, doğrusal regreyon ve IBK gibi diğer regresyon yöntemleri ile benzer sonuçlar üreetmiştir. Yapılan deneylerin sonuçları, kaynak kodu benzerliğinin hataya yatkınlık ve hata sayısının tahmin etmede iyi bir araç olduğunu ortaya koymuştur.en_US
dc.description.tableofcontentsSoftware Metricsen_US
dc.description.tableofcontentsStatic Code Metricsen_US
dc.description.tableofcontentsMcCabe Metricsen_US
dc.description.tableofcontentsLine of Code Metricsen_US
dc.description.tableofcontentsHalstead Metricsen_US
dc.description.tableofcontentsObject Oriented Metricsen_US
dc.description.tableofcontentsDeveloper Metricsen_US
dc.description.tableofcontentsProcess Metricsen_US
dc.description.tableofcontentsDefect Predictionen_US
dc.description.tableofcontentsDefect Prediction Dataen_US
dc.description.tableofcontentsPerformance Measureen_US
dc.description.tableofcontentsAn Overview of the Defect Prediction Studiesen_US
dc.description.tableofcontentsDefect Prediction Using Statistical Methodsen_US
dc.description.tableofcontentsDefect Prediction Using Machine Learning Methodsen_US
dc.description.tableofcontentsPrevious Work on Defect Predictionen_US
dc.description.tableofcontentsCritics About Studiesen_US
dc.description.tableofcontentsBenchmarking Studiesen_US
dc.description.tableofcontentsBayesian Networksen_US
dc.description.tableofcontentsBackground on Bayesian Networksen_US
dc.description.tableofcontentsK2 Algorithmen_US
dc.description.tableofcontentsPrevious Work on Bayesian Networksen_US
dc.description.tableofcontentsKernel Machinesen_US
dc.description.tableofcontentsBackground on Kernel Machinesen_US
dc.description.tableofcontentsSupport Vector Machinesen_US
dc.description.tableofcontentsSupport Vector Machines for Regressionen_US
dc.description.tableofcontentsKernel Functionsen_US
dc.description.tableofcontentsString Kernelsen_US
dc.description.tableofcontentsPrevious Work on Kernel Machinesen_US
dc.description.tableofcontentsPlagiarism Toolsen_US
dc.description.tableofcontentsSimilarity Detectionen_US
dc.description.tableofcontentsKernel Methods for Defect Predictionen_US
dc.description.tableofcontentsProposed Methoden_US
dc.description.tableofcontentsBayesian networksen_US
dc.description.tableofcontentsBayesian network of Metrics and Defect Pronenessen_US
dc.description.tableofcontentsOrdering Metrics for Bayesian Network Constructionen_US
dc.description.tableofcontentsKernel Methods to Predict Defectivenessen_US
dc.description.tableofcontentsSelecting Plagiarism Tools and Tuning Their Input Parametersen_US
dc.description.tableofcontentsData Set Selectionen_US
dc.description.tableofcontentsKernel Matrix Generationen_US
dc.description.tableofcontentsKernel Methods to Predict the Number of Defectsen_US
dc.description.tableofcontentsExperiments and Resultsen_US
dc.description.tableofcontentsExperiment I: Determine Influential Relationships Among Metrics and Defectiveness Using Bayesian Networksen_US
dc.description.tableofcontentsExperiment Designen_US
dc.description.tableofcontentsExperiment II: Determine The Role Of Coding Quality And Number Of Developers On Defectiveness Using Bayesian Networksen_US
dc.description.tableofcontentsConclusion Instability Testen_US
dc.description.tableofcontentsEffectiveness of Metric Pairsen_US
dc.description.tableofcontentsFeature Selection Testsen_US
dc.description.tableofcontentsEffectiveness of the Number of Developers (NOD)en_US
dc.description.tableofcontentsExperiment III: Defect Proneness Prediction Using Kernel Methodsen_US
dc.description.tableofcontentsExperiment IV: Prediction of the Number of Defects with Kernel Methodsen_US
dc.description.tableofcontentsThreats to Validityen_US
dc.description.tableofcontentsSummary of Resultsen_US
dc.description.tableofcontentsBayesian Networksen_US
dc.description.tableofcontentsKernel Methods to Predict Defectivenessen_US
dc.description.tableofcontentsKernel Methods to Predict the Number of Defectsen_US
dc.description.tableofcontentsContributionsen_US
dc.description.tableofcontentsBayesian Networksen_US
dc.description.tableofcontentsKernel Methods to Predict Defectivenessen_US
dc.description.tableofcontentsKernel Methods to Predict the Number of Defectsen_US
dc.description.tableofcontentsFuture Worken_US
dc.language.isoengen_US
dc.publisherIşık Üniversitesien_US
dc.rightsinfo:eu-repo/semantics/openAccessen_US
dc.subject.lccQA76.76.Q35 O38 2012
dc.subject.lcshNeural networks (Computer science)en_US
dc.subject.lcshComputer software -- Quality controlen_US
dc.subject.lcshArtificial intelligenceen_US
dc.subject.lcshBayesian statistical decision theoryen_US
dc.titleSoftware defect prediction using Bayesian networks and kernel methodsen_US
dc.title.alternativeBayesian ağları ve çekirdek yöntemleri ile yazılım hata tahminien_US
dc.typedoctoralThesisen_US
dc.contributor.departmentIşık Üniversitesi, Fen Bilimleri Enstitüsü, Bilgisayar Mühendisliği Doktora Programıen_US
dc.contributor.authorID0000-0001-6664-515X
dc.relation.publicationcategoryTezen_US
dc.contributor.institutionauthorOkutan, Ahmeten_US


Bu öğenin dosyaları:

Thumbnail

Bu öğe aşağıdaki koleksiyon(lar)da görünmektedir.

Basit öğe kaydını göster