Cross-projects software defect prediction using spotted hyena optimizer algorithm
Document Type
Article
Publication Date
4-1-2020
Abstract
Cross-projects software defect prediction improves the quality of new software projects or projects with a shortage of historical data. Therefore, various data mining techniques are recommended in this field. The classification accuracy issue is considered one of the most significant problems due to the shortage and heterogeneous in historical data. To address this challenge, this research utilizes a spotted hyena optimizer algorithm as a classifier to predict defects through cross-projects. Confidence and Support are utilized as a multi-objective fitness function to look for the best classification rules. These classification rules are used to predict defects for new projects or other projects with insufficient data. The datasets of NASA such as JM1, KC1, and KC2 are used. By applying spotted hyena optimizer algorithm as a classifier on one dataset and predicting defects in the other two datasets, accuracy is reported 84.6, 92.0, 82.4, 90.7, 86.6 and 81.8 for JM1, KC1, and KC2 respectively. These accuracy values are better than the most significant data mining techniques in the field such as Support Vector Machine, Naïve Bayes, Boosting, C4.5, and Bagging. Also, the proposed research discusses other performance measures such as precision, recall, and f-measure. The conclusion proves that there are many features of McCabe and Halstead that have a strong impact to generate highly accurate predictors for defects such as McCabe’s line count of code, McCabe’s cyclomatic complexity, McCabe’s essential complexity, McCabe’s design complexity iv, Halstead’s effort, Halstead’s time estimator, Halstead’s line count, Halstead’s count of line of comments and total operators.
Recommended Citation
Elsabagh, M. A.; Farhan, M. S.; and Gafar, M. G., "Cross-projects software defect prediction using spotted hyena optimizer algorithm" (2020). Information Systems. 12.
https://buescholar.bue.edu.eg/info_sys/12