Publication | Open Access
Enhancing software defect prediction: a framework with improved feature selection and ensemble machine learning
32
Citations
61
References
2024
Year
Software MaintenanceEnsemble Machine LearningEngineeringMachine LearningFeature SelectionSoftware EngineeringSoftware AnalysisData ScienceData MiningPattern RecognitionMaster ClassifierSystems EngineeringSoftware AspectImproved Feature SelectionMultiple Classifier SystemFeature EngineeringPredictive AnalyticsKnowledge DiscoveryComputer ScienceSoftware DefectsFeature ConstructionSoftware DesignSoftware Defect PredictionSoftware TestingClassifier SystemEnsemble Algorithm
Effective software defect prediction is a crucial aspect of software quality assurance, enabling the identification of defective modules before the testing phase. This study aims to propose a comprehensive five-stage framework for software defect prediction, addressing the current challenges in the field. The first stage involves selecting a cleaned version of NASA's defect datasets, including CM1, JM1, MC2, MW1, PC1, PC3, and PC4, ensuring the data's integrity. In the second stage, a feature selection technique based on the genetic algorithm is applied to identify the optimal subset of features. In the third stage, three heterogeneous binary classifiers, namely random forest, support vector machine, and naïve Bayes, are implemented as base classifiers. Through iterative tuning, the classifiers are optimized to achieve the highest level of accuracy individually. In the fourth stage, an ensemble machine-learning technique known as voting is applied as a master classifier, leveraging the collective decision-making power of the base classifiers. The final stage evaluates the performance of the proposed framework using five widely recognized performance evaluation measures: precision, recall, accuracy, F-measure, and area under the curve. Experimental results demonstrate that the proposed framework outperforms state-of-the-art ensemble and base classifiers employed in software defect prediction and achieves a maximum accuracy of 95.1%, showing its effectiveness in accurately identifying software defects. The framework also evaluates its efficiency by calculating execution times. Notably, it exhibits enhanced efficiency, significantly reducing the execution times during the training and testing phases by an average of 51.52% and 52.31%, respectively. This reduction contributes to a more computationally economical solution for accurate software defect prediction.
| Year | Citations | |
|---|---|---|
Page 1
Page 1