Abstract
Defect prediction is commonly used to reduce the effort from the testing phase of software development. A promising strategy is to use machine learning techniques to predict which software components may be defective. Features are key factors to the prediction's success, and thus extracting significant features can improve the model's accuracy. In particular, code smells are a category of those features that have been shown to improve the prediction performance significantly. However, Design code smells, a state-of-the-art collection of code smells based on the violations of the object-oriented programming principles, have not been studied in the context of defect prediction. In this paper, we study the performance of defect prediction models by training multiple classifiers for 97 real projects. We compare using Design code smells as features and using other Traditional smells from the literature and both. Moreover, we cluster and analyze the models’ performance based on the categories of Design code smells. We conclude that the models trained with both the Design code smells and the smells from the literature performed the best, with an improvement of 4.1% for the AUC score, compared to models trained with only Traditional smells. Consequently, Design smells are a good addition to the smells commonly studied in the literature for defect prediction.
Original language | English |
---|---|
Article number | 105240 |
Journal | Engineering Applications of Artificial Intelligence |
Volume | 115 |
DOIs | |
State | Published - Oct 2022 |
Externally published | Yes |
Bibliographical note
Publisher Copyright:© 2022 Elsevier Ltd
Funding
The authors declare the following financial interests/personal relationships which may be considered as potential competing interests: Bruno Sotto-Mayor reports financial support was provided by Cyber Security Research Center at Ben-Gurion University of the Negev. Bruno Sotto-Mayor reports financial support was provided by Ministry of Science. This work was supported by the Cyber Security Research Center at Ben-Gurion University of the Negev, Israel and the Ministry of Science, Israel grant No. 102784 .
Funders | Funder number |
---|---|
Ministry of Science, Israel | 102784 |
Ministry of Science, ICT and Future Planning |
Keywords
- Code smell
- Defect prediction
- Mining software repositories
- Software engineering
- Software quality