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 baselines
Articolo in rivista - Articolo scientifico
bug prediction; Code smells; empirical study; mining software repositories; Software
Code Smells, Bug Prediction, Empirical Study, Mining Software Repositories
English
7-nov-2017
2019
45
2
194
218
8097044
reserved
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].
File in questo prodotto:
File 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.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10281/174556
Citazioni
  • Scopus 75
  • ???jsp.display-item.citation.isi??? 63
Social impact