Analyzing Machine Learning Techniques for Software Defect Prediction: A Comprehensive Performance Comparison
Sai Krishna Gunda
Abstract
This study used the JM1 dataset of software module metrics and tested various machine learning classifiers to detect defective modules. Classifiers used: Gradient Boosting, AdaBoost XGBoost LightGBM Catboost The models were assessed using accuracy, precision, recall, F1-score, and cross-validation metrics. Our findings indicated that XGBoost achieved the most balanced performance between precision and recall, with a cross-validation mean of 0.8437 and a macro average $F 1$-score of $\mathbf{0. 6 0}$. LightGBM also gave a good performance with a CV mean of 0.8466 and an F1 score as 0.57. AdaBoost and Gradient Boosting had the lowest precision but highest recall, which indicates that these models have some issues in the area of finding all faulty modules. Regarding defect prediction, it was observed that for the selected models CatBoost performed best in terms of accuracy with a bit lower recall than XGBoost and LightGBM. This leads to the conclusion that LightGBM and XGBoost can be used as competitive alternatives in defect detection, balancing accuracy with the quality of being able to catch real defects. To further improve fault identification performance, future research can concentrate on hyperparameter optimization and the integration of other data sources.