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
ISBN13: 9781668462911|ISBN10: 1668462915|EISBN13: 9781668462928
DOI: 10.4018/978-1-6684-6291-1.ch042
Cite Chapter Cite Chapter

MLA

Guggulothu, Thirupathi, and Salman Abdul Moiz. "Detection of Shotgun Surgery and Message Chain Code Smells using Machine Learning Techniques." Research Anthology on Machine Learning Techniques, Methods, and Applications, edited by Information Resources Management Association, IGI Global, 2022, pp. 800-816. https://doi.org/10.4018/978-1-6684-6291-1.ch042

APA

Guggulothu, T. & Moiz, S. A. (2022). Detection of Shotgun Surgery and Message Chain Code Smells using Machine Learning Techniques. In I. Management Association (Ed.), Research Anthology on Machine Learning Techniques, Methods, and Applications (pp. 800-816). IGI Global. https://doi.org/10.4018/978-1-6684-6291-1.ch042

Chicago

Guggulothu, Thirupathi, and Salman Abdul Moiz. "Detection of Shotgun Surgery and Message Chain Code Smells using Machine Learning Techniques." In Research Anthology on Machine Learning Techniques, Methods, and Applications, edited by Information Resources Management Association, 800-816. Hershey, PA: IGI Global, 2022. https://doi.org/10.4018/978-1-6684-6291-1.ch042

Export Reference

Mendeley
Favorite

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.