Code Smells and Refactoring: A Tertiary Systematic Review of Challenges and Observations
Not on the map. Why?
Abstract (arXiv)
In this paper, we present a tertiary systematic literature review of previous surveys, secondary systematic literature reviews, and systematic mappings. We identify the main observations (what we know) and challenges (what we do not know) on code smells and refactoring. We show that code smells and refactoring have a strong relationship with quality attributes, i.e., with understandability, maintainability, testability, complexity, functionality, and reusability. We argue that code smells and refactoring could be considered as the two faces of a same coin. Besides, we identify how refactoring affects quality attributes, more than code smells. We also discuss the implications of this work for practitioners, researchers, and instructors. We identify 13 open issues that could guide future research work. Thus, we want to highlight the gap between code smells and refactoring in the current state of software-engineering research. We wish that this work could help the software-engineering research community in collaborating on future work on code smells and refactoring.
Key facts. Cited by 18 papers in the map (data through 7 Oct 2026). First posted on arXiv 22 Apr 2020.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 1; 2022: 4; 2023: 1; 2024: 2; 2025: 5; 2026: 5.
18 papers.
Sort:
By area:
- 2024Large Language Model (LLM) for Telecommunications: A Comprehensive Survey on Principles, Key Techniques, and Opportunitiescited by 83
- 2026SlopCodeBench: Benchmarking How Coding Agents Degrade Over Long-Horizon Iterative Taskscited by 24
- 2021The Prevalence of Code Smells in Machine Learning projectscited by 16
- 2026Model Context Protocol (MCP) Tool Descriptions Are Smelly! Towards Improving AI Agent Efficiency with Augmented MCP Tool Descriptionscited by 15
- 2025Investigating The Smells of LLM Generated Codecited by 9
- 2022Code Smells for Machine Learning Applicationscited by 7
- 2025RefAgent: A Multi-agent LLM-based Framework for Automatic Software Refactoringcited by 7
- 2022MIXCODE: Enhancing Code Classification by Mixup-Based Data Augmentationcited by 4
- 2025What Were You Thinking? An LLM-Driven Large-Scale Study of Refactoring Motivations in Open-Source Projectscited by 4
- 2022"Project smells" -- Experiences in Analysing the Software Quality of ML Projects with mllintcited by 2
- 2023A systematic literature review on the code smells datasets and validation mechanismscited by 2
- 2024GenCode: A Generic Data Augmentation Framework for Boosting Deep Learning-Based Code Understandingcited by 2
6 more
- 2026Code for Machines, Not Just Humans: Quantifying AI-Friendliness with Code Health Metricscited by 2
- 2022Improving the Learnability of Machine Learning APIs by Semi-Automated API Wrappingcited by 1
- 2025Automatic Identification of Machine Learning-Specific Code Smellscited by 0
- 2025Analysing Python Machine Learning Notebooks with Moosecited by 0
- 2026Learning Generalizable Multimodal Representations for Software Vulnerability Detectioncited by 0
- 2026REFINE: A Multi-Agent LLM Approach for Evidence-Guided Code Refactoringcited by 0
- 2026REFINE: A Multi-Agent LLM Approach for Evidence-Guided Code Refactoring21 Aug 2026
- 2026Learning Generalizable Multimodal Representations for Software Vulnerability Detection28 Apr 2026
- 2026SlopCodeBench: Benchmarking How Coding Agents Degrade Over Long-Horizon Iterative Tasks25 Mar 2026
- 2026Model Context Protocol (MCP) Tool Descriptions Are Smelly! Towards Improving AI Agent Efficiency with Augmented MCP Tool Descriptions16 Feb 2026
- 2026Code for Machines, Not Just Humans: Quantifying AI-Friendliness with Code Health Metrics5 Jan 2026
- 2025RefAgent: A Multi-agent LLM-based Framework for Automatic Software Refactoring5 Nov 2025
- 2025Investigating The Smells of LLM Generated Code3 Oct 2025
- 2025Analysing Python Machine Learning Notebooks with Moose15 Sep 2025
- 2025What Were You Thinking? An LLM-Driven Large-Scale Study of Refactoring Motivations in Open-Source Projects9 Sep 2025
- 2025Automatic Identification of Machine Learning-Specific Code Smells4 Aug 2025
- 2024Large Language Model (LLM) for Telecommunications: A Comprehensive Survey on Principles, Key Techniques, and Opportunities17 May 2024
- 2024GenCode: A Generic Data Augmentation Framework for Boosting Deep Learning-Based Code Understanding24 Feb 2024
6 more
- 2023A systematic literature review on the code smells datasets and validation mechanisms2 Jun 2023
- 2022MIXCODE: Enhancing Code Classification by Mixup-Based Data Augmentation6 Oct 2022
- 2022Improving the Learnability of Machine Learning APIs by Semi-Automated API Wrapping29 Mar 2022
- 2022Code Smells for Machine Learning Applications25 Mar 2022
- 2022"Project smells" -- Experiences in Analysing the Software Quality of ML Projects with mllint20 Jan 2022
- 2021The Prevalence of Code Smells in Machine Learning projects6 Mar 2021
- 2026SlopCodeBench: Benchmarking How Coding Agents Degrade Over Long-Horizon Iterative Taskscited by 24
- 2026Model Context Protocol (MCP) Tool Descriptions Are Smelly! Towards Improving AI Agent Efficiency with Augmented MCP Tool Descriptionscited by 15
- 2025RefAgent: A Multi-agent LLM-based Framework for Automatic Software Refactoringcited by 7
- 2026Code for Machines, Not Just Humans: Quantifying AI-Friendliness with Code Health Metricscited by 2
- 2026REFINE: A Multi-Agent LLM Approach for Evidence-Guided Code Refactoringcited by 0
- 2026REFINE: A Multi-Agent LLM Approach for Evidence-Guided Code Refactoring21 Aug 2026
- 2026SlopCodeBench: Benchmarking How Coding Agents Degrade Over Long-Horizon Iterative Tasks25 Mar 2026
- 2026Model Context Protocol (MCP) Tool Descriptions Are Smelly! Towards Improving AI Agent Efficiency with Augmented MCP Tool Descriptions16 Feb 2026
- 2026Code for Machines, Not Just Humans: Quantifying AI-Friendliness with Code Health Metrics5 Jan 2026
- 2025RefAgent: A Multi-agent LLM-based Framework for Automatic Software Refactoring5 Nov 2025
- 2021The Prevalence of Code Smells in Machine Learning projectscited by 16
- 2025Investigating The Smells of LLM Generated Codecited by 9
- 2022Code Smells for Machine Learning Applicationscited by 7
- 2022MIXCODE: Enhancing Code Classification by Mixup-Based Data Augmentationcited by 4
- 2025What Were You Thinking? An LLM-Driven Large-Scale Study of Refactoring Motivations in Open-Source Projectscited by 4
- 2022"Project smells" -- Experiences in Analysing the Software Quality of ML Projects with mllintcited by 2
- 2023A systematic literature review on the code smells datasets and validation mechanismscited by 2
- 2024GenCode: A Generic Data Augmentation Framework for Boosting Deep Learning-Based Code Understandingcited by 2
- 2022Improving the Learnability of Machine Learning APIs by Semi-Automated API Wrappingcited by 1
- 2025Automatic Identification of Machine Learning-Specific Code Smellscited by 0
- 2025Analysing Python Machine Learning Notebooks with Moosecited by 0
- 2026Learning Generalizable Multimodal Representations for Software Vulnerability Detectioncited by 0
- 2026Learning Generalizable Multimodal Representations for Software Vulnerability Detection28 Apr 2026
- 2025Investigating The Smells of LLM Generated Code3 Oct 2025
- 2025Analysing Python Machine Learning Notebooks with Moose15 Sep 2025
- 2025What Were You Thinking? An LLM-Driven Large-Scale Study of Refactoring Motivations in Open-Source Projects9 Sep 2025
- 2025Automatic Identification of Machine Learning-Specific Code Smells4 Aug 2025
- 2024GenCode: A Generic Data Augmentation Framework for Boosting Deep Learning-Based Code Understanding24 Feb 2024
- 2023A systematic literature review on the code smells datasets and validation mechanisms2 Jun 2023
- 2022MIXCODE: Enhancing Code Classification by Mixup-Based Data Augmentation6 Oct 2022
- 2022Improving the Learnability of Machine Learning APIs by Semi-Automated API Wrapping29 Mar 2022
- 2022Code Smells for Machine Learning Applications25 Mar 2022
- 2022"Project smells" -- Experiences in Analysing the Software Quality of ML Projects with mllint20 Jan 2022
- 2021The Prevalence of Code Smells in Machine Learning projects6 Mar 2021