Code smells are symptoms of poor design choices. Previous studies assessed the impact of smells on bug-proneness of classes. In this paper, we build a specialized bug prediction model for smelly classes. We evaluate the contribution of a measure of the severity of code smells by adding it to existing models based on both product and process metrics, and comparing the results of the new model against the baseline ones. Results indicate that the accuracy of a bug prediction model increases by adding the code smell intensity as predictor. We also compare our results with the ones of an alternative technique which considers historical metrics of code smells, finding that our model works better. By evaluating the information gain provided by the intensity index with respect to the other metrics in the model, we found that the intensity index is a relevant feature for both product and process metrics-based models. At the same time, the metric counting the average number of code smells in previous versions of a class considered by the alternative model is also able to reduce the entropy of the model. Thus, we devised a combined bug prediction. We observed an improvement of 13% of the baselines
Palomba, F., Zanoni, M., Arcelli Fontana, F., De Lucia, A., Oliveto, R. (2019). Toward a Smell-aware Bug Prediction Model. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 45(2), 194-218 [10.1109/TSE.2017.2770122].
Toward a Smell-aware Bug Prediction Model
Zanoni, M;Arcelli Fontana, F;
2019
Abstract
Code smells are symptoms of poor design choices. Previous studies assessed the impact of smells on bug-proneness of classes. In this paper, we build a specialized bug prediction model for smelly classes. We evaluate the contribution of a measure of the severity of code smells by adding it to existing models based on both product and process metrics, and comparing the results of the new model against the baseline ones. Results indicate that the accuracy of a bug prediction model increases by adding the code smell intensity as predictor. We also compare our results with the ones of an alternative technique which considers historical metrics of code smells, finding that our model works better. By evaluating the information gain provided by the intensity index with respect to the other metrics in the model, we found that the intensity index is a relevant feature for both product and process metrics-based models. At the same time, the metric counting the average number of code smells in previous versions of a class considered by the alternative model is also able to reduce the entropy of the model. Thus, we devised a combined bug prediction. We observed an improvement of 13% of the baselinesFile | Dimensione | Formato | |
---|---|---|---|
2016-TSE-intensity-postprint.pdf
Solo gestori archivio
Descrizione: post-print
Tipologia di allegato:
Author’s Accepted Manuscript, AAM (Post-print)
Dimensione
1.47 MB
Formato
Adobe PDF
|
1.47 MB | Adobe PDF | Visualizza/Apri Richiedi una copia |
1-Towards a smell-aware-TSE 2019.pdf
Solo gestori archivio
Tipologia di allegato:
Publisher’s Version (Version of Record, VoR)
Dimensione
1.01 MB
Formato
Adobe PDF
|
1.01 MB | Adobe PDF | Visualizza/Apri Richiedi una copia |
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.