Comparative Evaluation of Machine Learning Algorithms for Predicting Defects Using Object-Oriented and Software Complexity Metrics
摘要
Software metrics play a key role in predicting software defects. Various types of metrics have been proposed, such as software complexity and object-oriented metrics. Considering the above, this chapter presents a comparative analysis of several traditional machine learning algorithms, such as K Nearest Neighbors (KNN), Vector Support Machines (SVM), Random Forest (RF), and a multilayer perceptron (MLP). They were trained with various software metrics. Three experiments were conducted. In the first, the algorithms were trained with software complexity metrics. In the second, object-oriented metrics were used, and finally, in the third, the combination of software complexity and object-oriented metrics was used. Our results demonstrate that using the combination of object-oriented and complexity software metrics allows defects to be predicted more accurately than using a single type of metric. The algorithms with the best performance for each experiment, respectively, were KNN with an accuracy of 80.26% and F1-Score of 0.8332 and G-Mean of 0.7994, KNN with an accuracy of 80.76% and F1-Score of 0.8309 and G-Mean of 0.8013 and finally, RF with an accuracy of 85.52% and F1-Score of 0.8667 and G-Mean of 0.8726.