Using Classifiers for Software Defect Detection
Classifier models have successfully been applied to the task of detecting and predicting defects in software projects. These models work by learning patterns between attributes of the software and a corresponding binary label that indicates whether or not a defect exists. In this study, we evaluate the performance of five different classifiers in the context of software defect detection naive Bayes, neural networks, support vector machines, logistic regression, and k nearest neighbor. We measure performance using both accuracy and F1 score, and use ANOVA to test for significance. Each classifier was run on five datasets from NASA's metrics data program repository. Results show that all models can detect software defects using static software features with a relatively high degree of certainty, although naive Bayes and support vector machines were outperformed by the remaining algorithms for some datasets.