International Journal of Computer Science and Technology

ISSN 2996-8223

International Journal of Computer Science and Technology | Vol. 10, No. 1, January 2008 | pp. 1–8

DOI: 10.46882/2008/IJCST/101010

Research Article

Title: Enhancing Software Defect Prediction Accuracy Using Ensemble Machine Learning Classifiers

Names of Authors: Markus T. Lindqvist¹, Anja K. Koskinen¹

Authors’ Affiliations: ¹Department of Computer Science and Engineering, Aalto University, Espoo, Finland

Abstract: Early software defect identification is a primary mechanism for reducing software testing costs and refining engineering workflows. Traditional software defect prediction models often suffer from high false-alarm rates when processing imbalanced static code metric repositories. This paper proposes a hybrid ensemble machine learning framework that combines Random Forest, Support Vector Machines (SVM), and Gradient Boosted Trees via a soft-voting ensemble configuration. To resolve severe class imbalance issues, the Synthetic Minority Over-sampling Technique (SMOTE) was incorporated into the data preprocessing pipeline. The model was trained and validated using standard NASA MDP datasets (CM1, JM1, KC1). Experimental results revealed that the ensemble classifier significantly outperformed individual base learners, yielding an average Area Under the Receiver Operating Characteristic Curve (AUC-ROC) of 0.914. The prediction sensitivity reached 87.6% ± 1.1%, while minimizing the False Positive Rate to 12.3%. This model provides software engineering teams with an automated tool to reliably isolate fault-prone codebase modules before deployment.

Keywords: Software defect prediction, ensemble learning, machine learning, software metrics, SMOTE, AUC-ROC

Manuscript Timeline: Received October 8, 2007; Revised November 20, 2007; Accepted December 14, 2007; Published January 8, 2008

Citation: Lindqvist, M. T., & Koskinen, A. K. (2008). Enhancing Software Defect Prediction Accuracy Using Ensemble Machine Learning Classifiers. International Journal of Computer Science and Technology, 10(1), 1–8.