Software quality is a critical aspect of modern software engineering. One of the primary challenges developers face is the early detection of bugs before software is released into the production environment. This study develops a bug prediction model using the Naive Bayes algorithm applied to the JM1 dataset from NASA's Metrics Data Program, sourced from Kaggle. The JM1 dataset consists of source code metrics from a NASA project, comprising 10,885 modules with 21 numerical features that include Halstead and McCabe metrics. All experimental stages were conducted using Python with the Pandas, Scikit-learn, NumPy, and Matplotlib libraries. Experimental results show that the Naive Bayes model achieved an accuracy of 79.93%, an ROC-AUC value of 0.6761, precision of 46.26%, recall of 23.52%, and an F1-Score of 31.18%. These findings indicate that while Naive Bayes effectively identifies non-defective modules, it faces challenges in detecting defective modules due to significant class imbalance (80.65% vs. 19.35%). The contributions of this study include an in-depth analysis of the impact of class imbalance on bug prediction performance, as well as recommendations for handling techniques such as SMOTE and ensemble learning to improve future performance.
Copyrights © 2026