Software Defect Prediction Using Ensemble Learning: An ANP Based Evaluation Method

Software defect prediction (SDP) is the process of predicting defects in software modules, it identifies the modules that are defective and require extensive testing. Classification algorithms that help to predict software defects play a major role in software engineering process. Some studies have depicted that the use of ensembles is often more accurate than using single classifiers. However, variations exist from studies, which posited that the efficiency of learning algorithms might vary using different performance measures. This is because most studies on SDP consider the accuracy of the model or classifier above other performance metrics. This paper evaluated the performance of single classifiers (SMO, MLP, k NN and Decision Tree) and ensembles (Bagging, Boosting, Stacking and Voting) in SDP considering major performance metrics using Analytic Network Process (ANP) multi-criteria decision method. The experiment was based on 11 performance metrics over 11 software defect datasets. Boosted SMO, Voting and Stacking Ensemble methods ranked highest with a priority level of 0.0493, 0.0493 and 0.0445 respectively. Decision tree ranked highest in single classifiers with 0.0410. These clearly show that ensemble methods can give better classification results in SDP and Boosting method gave the best result. In essence, it is valid to say that before deciding which model or classifier is better for software defect prediction, all performance metrics should be considered. Keywords — Data mining, Machine Learning,  Multi Criteria Decision Making, Software Defect Prediction

[1]  Nashat Mansour,et al.  Metaheuristic Optimization Algorithms for Training Artificial Neural Networks , 2012 .

[2]  Sandeep Kumar Patra,et al.  A Survey of different classification techniques and their comparison using Mc Nemar’s Test , 2013 .

[3]  Amit Chhabra,et al.  Improved J48 Classification Algorithm for the Prediction of Diabetes , 2014 .

[4]  Tracy Hall,et al.  Software defect prediction: do different classifiers find the same defects? , 2017, Software Quality Journal.

[5]  Yi Peng,et al.  Ensemble of Software Defect Predictors: an AHP-Based Evaluation Method , 2011, Int. J. Inf. Technol. Decis. Mak..

[6]  S. Sathiya Keerthi,et al.  Convergence of a Generalized SMO Algorithm for SVM Classifier Design , 2002, Machine Learning.

[7]  Ian Sommerville,et al.  Software engineering, 8th Edition , 2007, International computer science series.

[8]  Luiz Fernando Capretz,et al.  COMPARATIVE PERFORMANCE ANALYSIS OF MACHINE LEARNING TECHNIQUES FOR SOFTWARE BUG DETECTION , 2014 .

[9]  อนิรุธ สืบสิงห์,et al.  Data Mining Practical Machine Learning Tools and Techniques , 2014 .

[10]  Burak Omer Saracoglu,et al.  AN AHP APPLICATION IN THE INVESTMENT SELECTION PROBLEM OF SMALL HYDROPOWER PLANTS IN TURKEY , 2015 .

[11]  Asha Gowda Karegowda,et al.  Feature Subset Selection Problem using Wrapper Approach in Supervised Learning , 2010 .

[12]  Shane McIntosh,et al.  A Large-Scale Study of the Impact of Feature Selection Techniques on Defect Classification Models , 2017, 2017 IEEE/ACM 14th International Conference on Mining Software Repositories (MSR).

[13]  Bart Baesens,et al.  Benchmarking Classification Models for Software Defect Prediction: A Proposed Framework and Novel Findings , 2008, IEEE Transactions on Software Engineering.

[14]  Thomas L. Saaty,et al.  Extending the Measurement of tangibles to Intangibles , 2009, Int. J. Inf. Technol. Decis. Mak..

[15]  Mohammad Alshayeb,et al.  Software defect prediction using ensemble learning on selected features , 2015, Inf. Softw. Technol..