Evaluating the indispensable aspect of data ımbalance in software fault prediction with feature selection and variants of machine learning and ensemble techniques
摘要
Software fault prediction (SFP) is the process of detecting the faults in a software under development, in the early phases of software development life cycle (SDLC). Data imbalance is a significant challenge in software fault prediction because real-world software projects typically have far fewer defective modules than non-defective ones. This skewed class distribution can severely affect the performance of machine learning models trained to predict faults. In this work, we address the issue of data imbalance by exploring Synthetic Minority Over-sampling Technique (SMOTE) and BLSMOTE algorithms. Considering all features of a dataset could impact time and space complexity of any classifier. Reducing the number of features helps in effective resource utilization and also reduces training cost and effort. We explore different feature selection techniques in order to effectively reduce the number of features. Six Feature Selection techniques are employed to identify most relevant and informative subset of software metrics that contribute significantly to fault prediction in the software prediction datasets. The work is covering 16 datasets with 28 machine-learning techniques and exploring the impact of data imbalance using SMOTE and BLSMOTE techniques. We briefly explain, categorize and access the software fault prediction process attained by these models using Area Under the ROC(Receiver Operating Characteristic) curve and accuracy performance metrics. We evaluated 16* 6*2*28 models that were developed using tenfold cross validation methodology. We assessed the impact of data balancing approaches and feature selection techniques on 28 machine learning and ensemble based classifiers trained for predicting software faults. The Wilcoxon Signed rank test is explored for statistically validation of performance of these models. LSSVM with RBF kernel classifier has shown significantly better performance with 95.39% accuracy and 0.96 AUC, followed by EXTRC which has an accuracy of 89.54% and 0.88 AUC. RF achieved 88.66% accuracy with 0.88AUC. We also observed that, the data balancing approaches enhanced the performance, as compared to without using any data balancing approaches (I.e. Original Data) for classification problems.