A systematic review on software code smells
Abstract
This paper provides a systematic review of code smell detection studies published from 2001 to 2023, addressing their significance in identifying underlying issues in software systems. Through stringent inclusion criteria, 116 primary studies were analyzed, focusing on various aspects such as publication venue, code smell categories, subject systems, supported programming languages, evaluation criteria, and detection techniques. The analysis reveals that 50% of the papers were conference proceedings, with 80% utilizing Java-supported techniques and commonly used subject systems like Apache Xerces, GanttProject, and ArgoUML. Metrics-based methods (33%) and search-based approaches (32%) were predominantly employed, with machine learning emerging in 20% and rule-based methods in 15% of the studies. Notably, recent studies have shown an increased adoption of machine learning techniques. The identified code smells include god class, feature envy, long method, and data class, with precision and recall being the most commonly used evaluation metrics. This review aims to inform future research directions and aid the software engineering community in developing novel detection techniques to enhance code quality and system reliability.
Keywords
Antipatterns; Code refactoring; Code smells; Smell detection; Systematic review
Full Text:
PDFDOI: http://doi.org/10.11591/ijece.v15i3.pp3010-3027
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
International Journal of Electrical and Computer Engineering (IJECE)
p-ISSN 2088-8708, e-ISSN 2722-2578
This journal is published by theĀ Institute of Advanced Engineering and Science (IAES).