Received 30 August 2023, accepted 9 November 2023, date of publication 17 November 2023, date of current version 22 November 2023. Digital Object Identifier 10.1109/ACCESS.2023.3334258 Research Trends, Detection Methods, Practices, and Challenges in Code Smell: SLR MUHAMMAD ANIS AL HILMI 1 , ALIFIA PUSPANINGRUM 1 , DARSIH 1 , DANIEL ORANOVA SIAHAAN 2 , (Member, IEEE), HERNAWATI SUSANTI SAMOSIR 3 , (Member, IEEE), AND AMELIA SAHIRA RAHMA 2 1 Department of Informatics, Politeknik Negeri Indramayu, Indramayu 45252, Indonesia 2 Department of Informatics, Institut Teknologi Sepuluh Nopember, Surabaya 60117, Indonesia 3 Faculty of Vocational Studies, Institut Teknologi Del, Toba 22381, Indonesia Corresponding authors: Muhammad Anis Al Hilmi (alhilmi@polindra.ac.id) and Daniel Oranova Siahaan (daniel@if.its.ac.id) This work was supported by the Politeknik Negeri Indramayu on the 2022–2023 Inter-Higher Education Cooperation Research (PKPT) Scheme in Collaboration with Institut Teknologi Sepuluh Nopember (ITS) Surabaya. ABSTRACT Context: A code smell indicates a faw in the design, implementation, or maintenance process that could degrade the software’s quality and potentially cause future disruptions. Since being introduced by Beck and Fowler, the term code smell has attracted several studies from researchers and practitioners. However, over time, studies are needed to discuss whether this issue is still interesting and relevant. Objective: Conduct a thorough systematic literature review to learn the most recent state of the art for studying code smells, including detection methods, practices, and challenges. Also, an overview of trends and future relevance of the topic of code smell, whether it is still developing, or if there has been a shift in the discussion. Method: The search methodology was employed to identify pertinent scholarly articles from reputable databases such as ScienceDirect, IEEE Xplore, ACM Digital Library, SpringerLink, ProQuest, and CiteSeerX. The application of inclusion and exclusion criteria serves to flter the search results. In addition, forward and backward snowballing techniques are employed to enhance the comprehensiveness of the results. Results: The inquiry yielded 354 scholarly articles published over the timeframe spanning from January 2013 to July 2022. After inclusion, exclusion, and snowballing techniques were applied, 69 main studies regarding code smells were identifed. Many researchers focus on detecting code smells, primarily via machine learning techniques and, to a lesser extent, deep learning methods. Additional subjects encompass the ramifcations of code smells; code smells within specifc contexts, the correlation between code smells and software metrics, and facets about security, refactoring, and development habits. Contexts and types of code smells vary in the focus of the study. Some tools used are Jspirit, aDoctor, CAME, and SonarQube. The study also explores the concept of design smells and anti-pattern detection. While a singular dominating technique to code smell detection has yet to be thoroughly investigated, other aspects of code smell detection remain that still need to be examined. Conclusion: The fndings underscore scholarly attention’s evolution towards code smells over the years. This study identifed signifcant journals and conferences and infuential researchers in this feld. The detection methods used include empirical, machine learning, and deep learning. However, challenges include subjective interpretation and limited contextual applicability. INDEX TERMS Code smell, detection, systematic review, software quality, bad smell. I. INTRODUCTION AND BACKGROUND The concept of ‘‘code smell,’’ initially introduced by Kent Beck, pertains to observable manifestations that may indicate The associate editor coordinating the review of this manuscript and approving it for publication was Giuseppe Destefanis . underlying issues inside a software system [1]. Nevertheless, this assertion only holds sometimes in some instances, and Martin Fowler explains: ‘‘Smells are not inherently bad on their own - they are often an indicator of a problem rather than the problem themselves’’ [2]. Numerous studies have highlighted code smells as a signifcant signal of potential 129536 2023 The Authors. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 License. For more information, see https://creativecommons.org/licenses/by-nc-nd/4.0/ VOLUME 11, 2023