Litcius/Paper detail

A new Ensemble approach for Software Fault Prediction

Ehsan Elahi, Saima Kanwal, Ali Nouman Asif

202023 citationsDOI

Abstract

Software Fault prediction is about prediction of faulty modules in the software systems. This prediction is done using different metrics such as lines of code, depth of inheritance tree etc. The fault prediction is carried out during early stages of development, as it decreases the maintenance costs and improve the software quality. Though software engineering research community have employed certain approaches to build an effective fault prediction model by using machine learning techniques, but the resampling techniques are used as an explicit activity in their studies. There is no study which reports the impact of discriminative power of resampling technique with classifiers. The main objective is to utilize the best combination of classifier with resampling technique in the model averaging method. In this study, we have investigated and compared the effect of different ensemble methods in improving the performance of prediction model. We have benchmarked the model averaging method using existing ensemble methods such as voting and stacking. The class imbalance problem is tackled with the use of different resampling techniques such as SMOTE, random under sampling and random over sampling. Five classifiers have been employed in this study due to their wide acceptance in fault prediction context which includes decision trees, logistic regression, Naive bayes, multinomial naive bayes and K nearest neighbor. The model is tested on 4 publicly available datasets from the PROMISE repository. In order to evaluate the performance of fault prediction model, F-measure is used. In order to avoid the sample randomness and biasness, the results are cross validated using k-fold ( <tex xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">$\mathrm{k}=10$</tex> ) cross validation. The experimental results showed that model averaging method outperformed when compared with other ensembles

Topics & Concepts

Computer scienceMachine learningData miningNaive Bayes classifierRandom forestResamplingArtificial intelligenceEnsemble learningSoftware qualityDecision treeDiscriminative modelSoftwareSupport vector machineSoftware developmentProgramming languageSoftware Engineering ResearchSoftware Reliability and Analysis ResearchSoftware System Performance and Reliability