10An Analysis on Detection and Visualization of Code Smells

Prabhu J.1*, Thejineaswar Guhan1, M. A. Rahul1, Pritish Gupta1 and Sandeep Kumar M.2

1School of Information Technology and Engineering, Vellore Institute of Technology, Vellore, Tamil Nadu, India

2School of Computing Science & Engineering, Galgotias University, Uttar Pradesh, India

Abstract

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 ...

Get Artificial Intelligence for Sustainable Applications now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.