Skip to main content
QUICK REVIEW

[Paper Review] Code smells: A Synthetic Narrative Review

Peter Kokol, Marko Kokol|arXiv (Cornell University)|Mar 1, 2021
Software Engineering Research4 citations
TL;DR

This synthetic narrative review synthesizes 442 publications on code smells from Scopus, employing bibliometric and thematic analysis to map research trends, key themes, and gaps. It identifies eight core research themes, including software maintenance, refactoring, and technical debt, and highlights underexplored areas like smell propagation and 'good smells'—offering a comprehensive roadmap for future research and practice in software quality and maintainability.

ABSTRACT

Code smells are symptoms of poor design and implementation choices, which might hinder comprehension, increase code complexity and fault-proneness and decrease maintainability of software systems. The aim of our study was to perform a triangulation of bibliometric and thematic analysis on code smell literature production. The search was performed on Scopus (Elsevier, Netherlands) database using the search string code smells which resulted in 442 publications. The Go-to statement was the first bad code smells identified in software engineering history in 1968. The literature production trend has been positive. The most productive countries were the United States, Italy and Brazil. Eight research themes were identified: Managing software maintenance, Smell detection-based software refactoring, Architectural smells, Improving software quality with multi-objective approaches, Technical debt and its instance, Quality improvement/assurance with mining software repositories, Programming education, Integrating the concepts of anti-pattern, design defects and design smells. Some research gaps also emerged, namely, New uncatalogued smell identification; Smell propagation from architectural, design, code to test, and other possible smells; and Identification of good smells. The results of our study can help code smell researchers and practitioners understand the broader aspects of code smells research and its translation to practice.

Motivation & Objective

  • To map the evolution and current state of code smell research through a comprehensive literature synthesis.
  • To identify dominant research themes and thematic clusters in code smell literature using thematic analysis.
  • To examine bibliometric trends, including publication volume, leading countries, and research productivity.
  • To uncover under-researched areas such as smell propagation and the identification of 'good smells'.
  • To support both researchers and practitioners by translating findings into actionable insights for software quality improvement.

Proposed method

  • Conducted a systematic search on the Scopus database using the keyword 'code smells', resulting in 442 publications.
  • Applied bibliometric analysis to assess publication trends, country productivity, and citation patterns.
  • Performed thematic analysis to identify and categorize recurring research themes from the literature.
  • Used triangulation of bibliometric and thematic data to validate and enrich findings.
  • Classified research themes based on content analysis of titles, abstracts, and keywords.
  • Identified research gaps through comparative analysis of thematic clusters and publication trends.

Experimental results

Research questions

  • RQ1What are the dominant research themes in code smell literature, and how have they evolved over time?
  • RQ2Which countries and institutions have contributed most significantly to code smell research?
  • RQ3How has the volume of code smell research publications changed over time, and what trends are evident?
  • RQ4What are the key gaps in current code smell research, particularly regarding unexplored types of smells?
  • RQ5How can code smell research be better aligned with software maintenance, quality assurance, and education practices?

Key findings

  • The literature on code smells has shown a steady positive growth trend since the first documented code smell in 1968.
  • The United States, Italy, and Brazil were the most productive countries in code smell research.
  • Eight major research themes were identified: software maintenance, smell detection and refactoring, architectural smells, multi-objective quality improvement, technical debt, mining software repositories, programming education, and anti-pattern integration.
  • Significant research gaps remain, including the identification of new, uncatalogued code smells and the study of smell propagation across architectural, design, code, and test layers.
  • The concept of 'good smells'—positive design cues—has not been systematically studied, representing a notable research void.
  • The synthesis demonstrates that code smell research is well-established but still underexplored in areas related to systemic smell dynamics and constructive design patterns.

Better researchstarts right now

From reading papers to final review, dramatically reduce your research time.

No credit card · Free plan available

This review was created by AI and reviewed by human editors.