Analyzing and Detecting Code Design Smells: A Comprehensive Survey

Noura Raad Nashaat, Naktal Moaid EDAN · 2025

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.

Read the paper · More papers on PaperTik