Analyzing and Detecting Code Design Smells: A Comprehensive Survey

A code smell is a software feature that signals bad code design., potentially impacting software quality. These smells are significant indicators of software health, providing early warnings of potential future issues in the codebase. Although the code may work correctly, these smells highlight areas that could pose problems later. They indicate design weaknesses that could slow development or increase the likelihood of bugs or failures. By identifying code smells early, developers can avoid fundamental design flaws, maintainability challenges, and scalability issues before they become more severe. While detecting code smells during development may seem disruptive, it encourages adherence to coding standards and best practices, fostering a culture of high-quality code within teams. The primary aim of this study is to conduct a comprehensive review of existing literature to examine the different Machine Learning (ML) and Deep Learning (DL) techniques used for detecting code smells in source code, such as Feature Envy, God Class, Data Class, Long Method, etc. The study will also compare the findings from various studies to identify the most accurate and effective techniques for code smell detection. This review highlights the strengths and weaknesses of current approaches and provides recommendations for future research in the field.

Authors

Institutions

Publication Details

Published
2025-04-15
DOI
https://doi.org/10.1109/csase63707.2025.11054036
Primary Topic
Software Engineering Research
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Analyzing and Detecting Code Design Smells: A Comprehensive Survey

Naktal Moaid Edan, Noura Raad Nashaat
Software Engineering Research
article

Analyzing and Detecting Code Design Smells: A Comprehensive Survey

Naktal Moaid Edan, Noura Raad Nashaat
article en

Abstract

A code smell is a software feature that signals bad code design., potentially impacting software quality. These smells are significant indicators of software health, providing early warnings of potential future issues in the codebase. Although the code may work correctly, these smells highlight areas that could pose problems later. They indicate design weaknesses that could slow development or increase the likelihood of bugs or failures. By identifying code smells early, developers can avoid fundamental design flaws, maintainability challenges, and scalability issues before they become more severe. While detecting code smells during development may seem disruptive, it encourages adherence to coding standards and best practices, fostering a culture of high-quality code within teams. The primary aim of this study is to conduct a comprehensive review of existing literature to examine the different Machine Learning (ML) and Deep Learning (DL) techniques used for detecting code smells in source code, such as Feature Envy, God Class, Data Class, Long Method, etc. The study will also compare the findings from various studies to identify the most accurate and effective techniques for code smell detection. This review highlights the strengths and weaknesses of current approaches and provides recommendations for future research in the field.

University of Mosul (IQ)
Openalex Percentile: Top 77%
Software Engineering Research
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

Analyzing and Detecting Code Design Smells: A Comprehensive Survey — Naktal Moaid Edan, Noura Raad Nashaat · (2025) | TGRS Research Map | TGRS