Reference Hub8
Detection of Shotgun Surgery and Message Chain Code Smells using Machine Learning Techniques

Detection of Shotgun Surgery and Message Chain Code Smells using Machine Learning Techniques

Thirupathi Guggulothu, Salman Abdul Moiz
Copyright: © 2019 |Volume: 6 |Issue: 2 |Pages: 17
ISSN: 2334-4598|EISSN: 2334-4601|EISBN13: 9781522568452|DOI: 10.4018/IJRSDA.2019040103
Cite Article Cite Article

MLA

Guggulothu, Thirupathi, and Salman Abdul Moiz. "Detection of Shotgun Surgery and Message Chain Code Smells using Machine Learning Techniques." IJRSDA vol.6, no.2 2019: pp.34-50. http://doi.org/10.4018/IJRSDA.2019040103

APA

Guggulothu, T. & Moiz, S. A. (2019). Detection of Shotgun Surgery and Message Chain Code Smells using Machine Learning Techniques. International Journal of Rough Sets and Data Analysis (IJRSDA), 6(2), 34-50. http://doi.org/10.4018/IJRSDA.2019040103

Chicago

Guggulothu, Thirupathi, and Salman Abdul Moiz. "Detection of Shotgun Surgery and Message Chain Code Smells using Machine Learning Techniques," International Journal of Rough Sets and Data Analysis (IJRSDA) 6, no.2: 34-50. http://doi.org/10.4018/IJRSDA.2019040103

Export Reference

Mendeley
Favorite Full-Issue Download

Abstract

Code smell is an inherent property of software that results in design problems which makes the software hard to extend, understand, and maintain. In the literature, several tools are used to detect code smell that are informally defined or subjective in nature due to varying results of the code smell. To resolve this, machine leaning (ML) techniques are proposed and learn to distinguish the characteristics of smelly and non-smelly code elements (classes or methods). However, the dataset constructed by the ML techniques are based on the tools and manually validated code smell samples. In this article, instead of using tools and manual validation, the authors considered detection rules for identifying the smell then applied unsupervised learning for validation to construct two smell datasets. Then, applied classification algorithms are used on the datasets to detect the code smells. The researchers found that all algorithms have achieved high performance in terms of accuracy, F-measure and area under ROC, yet the tree-based classifiers are performing better than other classifiers.