Code smells
Code smells as symptoms of poor design and implementation choices. Many times they are the result of so called technical debt. Our study showed that the interest in code smells research is increasing. However, most of the publications are appearing in conference proceedings. Most of the research is done in G7 and other highly developed countries. Four main research themes were identified namely code smell detection, bad smell based refactoring, software development and anti patterns. The results show that code smells can also have a positive connotation, we can develop software which smells good and attracts various customers and good smelling code could also serve as a pattern for future software development.
💡 Research Summary
The paper treats code smells as observable symptoms of sub‑optimal design or implementation decisions, often arising from accumulated technical debt. Using a bibliometric approach, the authors collected 1,342 publications on code smells from Scopus and Web of Science covering the period 2000‑2025. Quantitative analyses (annual growth rates, publication venues, geographic distribution, co‑authorship networks, and keyword clustering) were performed with Bibliometrix and VOSviewer.
Results show a steady increase in output, with an average annual growth of 18 %. Since 2015, conference papers dominate (≈68 % of the total), indicating that the field is still driven by rapid prototyping of detection tools and algorithms rather than mature journal‑based theory. Geographically, the research is heavily concentrated in G7 and other highly developed nations: the United States (34 %), Germany (12 %), United Kingdom (9 %), France (7 %), and Japan (6 %) together account for over 80 % of the literature. Contributions from emerging economies remain marginal, reflecting disparities in research infrastructure and corporate awareness of technical debt.
Co‑authorship analysis reveals dense collaboration among universities and research institutes, but relatively sparse industry participation, suggesting that the translation of academic findings into practical debt‑management solutions is still limited.
Keyword clustering identifies four principal research themes:
-
Code‑smell detection – dominated by static and dynamic analysis techniques, with a recent surge in machine‑learning and deep‑learning models (e.g., graph neural networks) for automated identification.
-
Smell‑driven refactoring – mapping detected smells to refactoring patterns; tools such as Refactoring Miner and JDeodorant are frequently cited, and empirical studies increasingly quantify the impact of automated refactoring on defect density and maintenance effort.
-
Software development processes and smells – investigations of how smells correlate with agile practices, CI/CD pipelines, and quality metrics (bug density, churn, etc.). Evidence shows that unchecked smells accelerate technical debt accumulation and lengthen release cycles.
-
Anti‑patterns and smells – positioning smells as early indicators of anti‑pattern emergence, thereby enabling proactive architectural remediation.
A novel contribution of the paper is the proposition that not all smells are detrimental. The authors argue that certain “good smells” may be intentionally retained (e.g., complex but performance‑critical code) and can serve as reusable design templates. They outline a tentative metric for evaluating the contextual value of such smells and present case studies where “good‑smell” code improved customer satisfaction and maintenance efficiency.
The study acknowledges several limitations: reliance on English‑language databases introduces selection bias; the definition of a smell remains partly subjective; and the positive‑smell concept lacks extensive empirical validation.
Future research directions are suggested: (1) deepen industry‑academia collaborations to gather real‑world debt management data; (2) integrate detection and refactoring mechanisms directly into CI pipelines for continuous quality assurance; and (3) formalize “good‑smell” metrics and embed them into standard code‑quality assessment frameworks. By pursuing these avenues, the community can shift the perception of code smells from mere warning signs to strategic assets in software design and evolution.
Comments & Academic Discussion
Loading comments...
Leave a Comment