Predicting software defects: a comprehensive analysis of machine learning approaches

Read the full article See related articles

Listed in

This article is not in any list yet, why not save it to one of your lists.
Log in to save this article

Abstract

In software development, achieving flawless software is essential for maintaining quality and reducing testing costs. Predicting software defects is a crucial aspect of enhancing software quality. This paper explores various techniques, including feature selection, principal component analysis, and fisher discriminant ratio, utilizing well-known machine learning algorithms on the publicly available JM1 dataset, addressing the gap in the current literature. support vector machine, multi-layer perceptron, K-nearest neighbor, Naïve Bayes, and decision tree algorithms are utilized along with the K-Fold approach for class label classification. Additionally, a binary genetic algorithm with a support vector machine classifier is employed for feature selection, and a particle swarm optimization algorithm is used to determine optimal fisher discriminant ratio coefficients. Model performance is evaluated according to accuracy, sensitivity, specificity, F-measure, precision, and a confusion matrix. The findings indicate that all machine learning models perform well with different processing techniques. However, the support vector machine algorithm, when combined with optimal fisher discriminant ratio coefficients, achieved the highest accuracy at 88.2% and excelled in specificity at 99.6%. The K-nearest neighbor classifier with selected features attained the highest scores in precision, sensitivity, and F-measure. Other classification algorithms did not surpass these models in any performance metrics.

Article activity feed