Towards Heuristics for Supporting the Validation of Code Smells
Luiz Felipi Junionello, Rafael de Mello

TL;DR
This paper develops a set of heuristics to assist developers in manually validating code smells, addressing the subjectivity and multiple perspectives involved in the detection process.
Contribution
It introduces an empirically derived, optimized set of heuristics to guide manual validation of eight common code smells, based on a study with experienced developers.
Findings
Developers use different perspectives for validation.
A total of 303 arguments were analyzed and coded into heuristics.
An optimized set of validation heuristics was created for eight code smells.
Abstract
The identification of code smells is largely recognized as a subjective task. Consequently, the automated detection tools available are insufficient to deal with the whole subjectivity involved in the task, requiring human validation. However, developers may follow different but complementary perspectives for manually validating the same code smell. Based on this scenario, our research aims at characterizing a comprehensive and optimized set of heuristics for guiding developers to validate the incidence of code smells reported by automated detection tools. For this purpose, we conducted an empirical study with 12 experienced software developers. In this study, we invited developers to individually validate the incidence of code smells in 24 code snippets from open-source Java projects. For each validation, developers should provide arguments for supporting their decisions. The study…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Advanced Malware Detection Techniques · Software Reliability and Analysis Research
