Recommendation of Move Method Refactoring Using Path-Based Representation of Code
Not on the map. Why?
Abstract (arXiv)
Software refactoring plays an important role in increasing code quality. One of the most popular refactoring types is the Move Method refactoring. It is usually applied when a method depends more on members of other classes than on its own original class. Several approaches have been proposed to recommend Move Method refactoring automatically. Most of them are based on heuristics and have certain limitations (e.g., they depend on the selection of metrics and manually-defined thresholds). In this paper, we propose an approach to recommend Move Method refactoring based on a path-based representation of code called code2vec that is able to capture the syntactic structure and semantic information of a code fragment. We use this code representation to train a machine learning classifier suggesting to move methods to more appropriate classes. We evaluate the approach on two publicly available datasets: a manually compiled dataset of well-known open-source projects and a synthetic dataset with automatically injected code smell instances. The results show that our approach is capable of recommending accurate refactoring opportunities and outperforms JDeodorant and JMove, which are state of the art tools in this field.
Key facts. Cited by 4 papers in the map (data through 14 Oct 2026). First posted on arXiv 15 Feb 2020.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 1; 2022: 1; 2023: 0; 2024: 0; 2025: 2.
4 papers.
- 2021A Survey on Machine Learning Techniques for Source Code Analysiscited by 24
- 2022All You Need Is Logs: Improving Code Completion by Learning from Anonymous IDE Usage Logscited by 9
- 2025What Were You Thinking? An LLM-Driven Large-Scale Study of Refactoring Motivations in Open-Source Projectscited by 4
- 2025Leveraging LLMs, IDEs, and Semantic Embeddings for Automated Move Method Refactoringcited by 1
- 2025What Were You Thinking? An LLM-Driven Large-Scale Study of Refactoring Motivations in Open-Source Projects9 Sep 2025
- 2025Leveraging LLMs, IDEs, and Semantic Embeddings for Automated Move Method Refactoring26 Mar 2025
- 2022All You Need Is Logs: Improving Code Completion by Learning from Anonymous IDE Usage Logs21 May 2022
- 2021A Survey on Machine Learning Techniques for Source Code Analysis18 Oct 2021