An Analysis on Detection and Visualization of Code Smells

J. Prabhu, Thejineaswar Guhan, M. A. Rahul, Pritish Gupta, M. Sandeep Kumar · 2023

The term code smell indicates potential menacing practices in the source code of the software. It does not imply that the software will result in compilation errors or not produce the expected output. Still, the attributes such as performance, productivity, and software maintainability might have serious concerns, directly impacting the software code quality. The analysis is divided into 3 topics: Machine-Learning based code smell detection techniques, Code smell behavior on multiple computer languages, and the Comparison of the latest code smell detection tools. This paper provides an up-to-date review of the recent developments in code smell detection algorithms regarding Machine-Learning techniques. The study covers various aspects, from common findings of code smells in Machine-Learning based projects to detection of code smells in the API documentation. It is observed that the majority of the publications have focused on code smell characteristics over the Java environment. So, for our analysis, we choose to survey Scala, SQL, C#, Python, and JavaScript to understand the unexplored path better. Code Smell Detection tools follow various unique detection techniques and list the smell types identified for the developer to refactor. Subsequently, we conducted a comparative study on the few latest publications on detection tools compared and tabulated for their merits and demerits. This paper presents, which leads to improved software productivity comprehensive review of detection techniques and behavioral aspects of code smell which, when coupled with the detection tools.

Read the paper · More papers on PaperTik