מאיר קלך

אקדמי בכיר

Exploring Design smells for smell-based defect prediction

Bruno Sotto-Mayor, Amir Elmishali, Meir Kalech, Rui Abreu

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.

שפת פרסום אנגלית
כתב עת Engineering Applications of Artificial Intelligence
כרך 115
סטטוס פרסום פורסם - 01.10.2022
מספר מאמר 105240

Keywords

Code smell
Defect prediction
Mining software repositories
Software engineering
Software quality

ASJC Scopus subject areas

Control and Systems Engineering
Artificial Intelligence
Electrical and Electronic Engineering
קבצים וקישורים אחרים
Link to publication in Scopus