Standard

Comparing Heuristic and Machine Learning Approaches for Metric-Based Code Smell Detection. / Pecorelli, Fabiano; Palomba, Fabio; Di Nucci, Dario; De Lucia, Andrea.

in Proceedings of the 27th International Conference on Program Comprehension. IEEE, Piscataway, NJ, USA, 2018. p. 93-104.

Research output: Chapter in Book/Report/Conference proceedingConference paper

Harvard

Pecorelli, F, Palomba, F, Di Nucci, D & De Lucia, A 2018, Comparing Heuristic and Machine Learning Approaches for Metric-Based Code Smell Detection. in in Proceedings of the 27th International Conference on Program Comprehension. IEEE, Piscataway, NJ, USA, pp. 93-104, 27th International Conference on Program Comprehension, Montreal, Canada, 25/05/19. https://doi.org/10.1109/ICPC.2019.00023

APA

Pecorelli, F., Palomba, F., Di Nucci, D., & De Lucia, A. (2018). Comparing Heuristic and Machine Learning Approaches for Metric-Based Code Smell Detection. In in Proceedings of the 27th International Conference on Program Comprehension (pp. 93-104). IEEE, Piscataway, NJ, USA. https://doi.org/10.1109/ICPC.2019.00023

Vancouver

Pecorelli F, Palomba F, Di Nucci D, De Lucia A. Comparing Heuristic and Machine Learning Approaches for Metric-Based Code Smell Detection. In in Proceedings of the 27th International Conference on Program Comprehension. IEEE, Piscataway, NJ, USA. 2018. p. 93-104 https://doi.org/10.1109/ICPC.2019.00023

Author

Pecorelli, Fabiano ; Palomba, Fabio ; Di Nucci, Dario ; De Lucia, Andrea. / Comparing Heuristic and Machine Learning Approaches for Metric-Based Code Smell Detection. in Proceedings of the 27th International Conference on Program Comprehension. IEEE, Piscataway, NJ, USA, 2018. pp. 93-104

BibTeX

@inproceedings{5b579c329f244b5ab4c8ef5c75460476,
title = "Comparing Heuristic and Machine Learning Approaches for Metric-Based Code Smell Detection",
abstract = "Code smells represent poor implementation choices performed by developers when enhancing source code. Their negative impact on source code maintainability and comprehen-sibility has been widely shown in the past and several techniques to automatically detect them have been devised. Most of these techniques are based on heuristics, namely they compute a set of code metrics and combine them by creating detection rules; while they have a reasonable accuracy, a recent trend is represented by the use of machine learning where code metrics are used as predictors of the smelliness of code artefacts. Despite the recent advances in the field, there is still a noticeable lack of knowledge of whether machine learning can actually be more accurate than traditional heuristic-based approaches. To fill this gap, in this paper we propose a large-scale study to empirically compare the performance of heuristic-based and machine-learning-based techniques for metric-based code smell detection. We consider five code smell types and compare machine learning models with DECOR, a state-of-the-art heuristic-based approach. Key findings emphasize the need of further research aimed at improving the effectiveness of both machine learning and heuristic approaches for code smell detection: while DECOR generally achieves better performance than a machine learning baseline, its precision is still too low to make it usable in practice.",
keywords = "Code Smells Detection, Heuristics, Machine Learning, Empirical Study",
author = "Fabiano Pecorelli and Fabio Palomba and {Di Nucci}, Dario and {De Lucia}, Andrea",
year = "2018",
month = "5",
doi = "10.1109/ICPC.2019.00023",
language = "English",
pages = "93--104",
booktitle = "in Proceedings of the 27th International Conference on Program Comprehension",
publisher = "IEEE, Piscataway, NJ, USA",

}

RIS

TY - GEN

T1 - Comparing Heuristic and Machine Learning Approaches for Metric-Based Code Smell Detection

AU - Pecorelli, Fabiano

AU - Palomba, Fabio

AU - Di Nucci, Dario

AU - De Lucia, Andrea

PY - 2018/5

Y1 - 2018/5

N2 - Code smells represent poor implementation choices performed by developers when enhancing source code. Their negative impact on source code maintainability and comprehen-sibility has been widely shown in the past and several techniques to automatically detect them have been devised. Most of these techniques are based on heuristics, namely they compute a set of code metrics and combine them by creating detection rules; while they have a reasonable accuracy, a recent trend is represented by the use of machine learning where code metrics are used as predictors of the smelliness of code artefacts. Despite the recent advances in the field, there is still a noticeable lack of knowledge of whether machine learning can actually be more accurate than traditional heuristic-based approaches. To fill this gap, in this paper we propose a large-scale study to empirically compare the performance of heuristic-based and machine-learning-based techniques for metric-based code smell detection. We consider five code smell types and compare machine learning models with DECOR, a state-of-the-art heuristic-based approach. Key findings emphasize the need of further research aimed at improving the effectiveness of both machine learning and heuristic approaches for code smell detection: while DECOR generally achieves better performance than a machine learning baseline, its precision is still too low to make it usable in practice.

AB - Code smells represent poor implementation choices performed by developers when enhancing source code. Their negative impact on source code maintainability and comprehen-sibility has been widely shown in the past and several techniques to automatically detect them have been devised. Most of these techniques are based on heuristics, namely they compute a set of code metrics and combine them by creating detection rules; while they have a reasonable accuracy, a recent trend is represented by the use of machine learning where code metrics are used as predictors of the smelliness of code artefacts. Despite the recent advances in the field, there is still a noticeable lack of knowledge of whether machine learning can actually be more accurate than traditional heuristic-based approaches. To fill this gap, in this paper we propose a large-scale study to empirically compare the performance of heuristic-based and machine-learning-based techniques for metric-based code smell detection. We consider five code smell types and compare machine learning models with DECOR, a state-of-the-art heuristic-based approach. Key findings emphasize the need of further research aimed at improving the effectiveness of both machine learning and heuristic approaches for code smell detection: while DECOR generally achieves better performance than a machine learning baseline, its precision is still too low to make it usable in practice.

KW - Code Smells Detection

KW - Heuristics

KW - Machine Learning

KW - Empirical Study

U2 - 10.1109/ICPC.2019.00023

DO - 10.1109/ICPC.2019.00023

M3 - Conference paper

SP - 93

EP - 104

BT - in Proceedings of the 27th International Conference on Program Comprehension

PB - IEEE, Piscataway, NJ, USA

ER -

ID: 46199491