Generic placeholder image

Recent Advances in Electrical & Electronic Engineering


ISSN (Print): 2352-0965
ISSN (Online): 2352-0973

Review Article

A Review on Machine-learning Based Code Smell Detection Techniques in Object-oriented Software System(s)

Author(s): Amandeep Kaur, Sushma Jain, Shivani Goel and Gaurav Dhiman*

Volume 14 , Issue 3 , 2021

Published on: 22 September, 2020

Page: [290 - 303] Pages: 14

DOI: 10.2174/2352096513999200922125839

Price: $65


Background: Code smells are symptoms that something may be wrong in software systems that can cause complications in maintaining software quality. In literature, there exist many code smells and their identification is far from trivial. Thus, several techniques have also been proposed to automate code smell detection in order to improve software quality.

Objective: This paper presents an up-to-date review of simple and hybrid machine learning-based code smell detection techniques and tools.

Methods: We collected all the relevant research published in this field till 2020. We extracted the data from those articles and classified them into two major categories. In addition, we compared the selected studies based on several aspects like code smells, machine learning techniques, datasets, programming languages used by datasets, dataset size, evaluation approach, and statistical testing.

Results: A majority of empirical studies have proposed machine-learning based code smell detection tools. Support vector machine and decision tree algorithms are frequently used by the researchers. Along with this, a major proportion of research is conducted on Open Source Softwares (OSS) such as Xerces, Gantt Project and ArgoUml. Furthermore, researchers pay more attention to Feature Envy and Long Method code smells.

Conclusion: We identified several areas of open research like the need for code smell detection techniques using hybrid approaches, the need for employing valid industrial datasets, etc.

Keywords: Code smells, anti-patterns, machine learning, software maintenance, Open Source Softwares (OSS), industrial datasets.

Graphical Abstract

Rights & Permissions Print Export Cite as
© 2022 Bentham Science Publishers | Privacy Policy