Software Defect Prediction Using Machine Learning
Software defect prediction ranks the modules of a code base by their risk of containing a defect, so that reviewers and testers look first where defects are most likely. This project uses four public NASA Metrics Data Program data sets (kc1, pc1, jm1, kc2; 14,625 modules with 21 static code metrics each) and compares the simple 'bigger module = riskier' lines-of-code rule, naive Bayes and logistic regression with Random Forest and XGBoost, each with and without SMOTE oversampling. It first cleans the data (many modules are exact copies of each other), shows how much these copies inflate the usual cross-validation, tests models on projects they were not trained on, measures effort- aware recall when only 20 % of the code can be reviewed, explains predictions with SHAP and ranks the functions of a real Python library (requests) measured with radon. A web application scans projects, assesses single modules and manages an inspection queue on five databases. Weka, GNU Octave and a complete MATLAB version are included.
Category: Information Science and Technology
Information Science & Technology Project IST02 from ProTechSC Academy, with graphical abstract, video demonstration and project guidance.