Abstract:
Software defects can cause significant loss and system failures in software
development life cycle. Software Defect Prediction (SDP) is a vital step for ensuring
the quality of software. Till now, a number of machine learning models have been
proposed to predict potential defects and make the software more reliable. However,
SDP models suffer from the problem of imbalanced dataset, resulting in poor
prediction accuracy. To mitigate this, issue several data balancing techniques, i.e.,
over sampling, under sampling etc. have been proposed to balance the dataset. In
some cases, the data balancing methods may further introduce noisy and mislabeled
samples in the dataset. To deal with these issues, in this paper, we propose a neural
network based approach that combines the oversampling technique Synthetic
Minority Oversampling Technique (SMOTE) with the noise filtering technique Class
Level Noise Identification (CLNI). Here, we applied three different CLNI methods
which are Edited Nearest Neighbor (ENN), Repeated ENN (RENN) and All-KNN.
Our aim is to make the dataset clean, balanced and efficient by combining SMOTE
with CLNI. In addition, we applied a number of feature selection methods to identify
the most important features, further contributing towards achieving better prediction
accuracy. To evaluate the effectiveness of the proposed model, we conduct
experiments on several benchmark datasets (MC1, PC1, PC2, PC3 and PC4)
obtained from NASA MDP and (ML, LC and JDT) AEEEM repository. The
experimental results have been evaluated and compared in terms of accuracy,
precision, recall and AUC-ROC curve. The experimental results demonstrated that
our proposed approach has achieved up to 98% accuracy and outperformed state-of-
the-art approaches.