RefDiff: Detecting Refactorings in Version Histories
Not on the map. Why?
Abstract (arXiv)
Refactoring is a well-known technique that is widely adopted by software engineers to improve the design and enable the evolution of a system. Knowing which refactoring operations were applied in a code change is a valuable information to understand software evolution, adapt software components, merge code changes, and other applications. In this paper, we present RefDiff, an automated approach that identifies refactorings performed between two code revisions in a git repository. RefDiff employs a combination of heuristics based on static analysis and code similarity to detect 13 well-known refactoring types. In an evaluation using an oracle of 448 known refactoring operations, distributed across seven Java projects, our approach achieved precision of 100% and recall of 88%. Moreover, our evaluation suggests that RefDiff has superior precision and recall than existing state-of-the-art approaches.
Key facts. Cited by 5 papers in the map (data through 14 Oct 2026). First posted on arXiv 5 Apr 2017.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2022: 1; 2023: 1; 2024: 0; 2025: 0; 2026: 3.
5 papers.
- 2022NewsEdits: A News Article Revision Dataset and a Document-Level Reasoning Challengecited by 20
- 2023A systematic literature review on the code smells datasets and validation mechanismscited by 3
- 2026AgentSZZ: Teaching the LLM Agent to Play Detective with Bug-Inducing Commitscited by 2
- 2026AgenticSZZ: Temporal Knowledge Graph-Guided Agentic Bug-Inducing Commit Identificationcited by 1
- 2026SemaDiff: Identifying Semantic-Changing Commits with Generated Code and Testscited by 1
- 2026SemaDiff: Identifying Semantic-Changing Commits with Generated Code and Tests14 Jul 2026
- 2026AgentSZZ: Teaching the LLM Agent to Play Detective with Bug-Inducing Commits3 Apr 2026
- 2026AgenticSZZ: Temporal Knowledge Graph-Guided Agentic Bug-Inducing Commit Identification3 Feb 2026
- 2023A systematic literature review on the code smells datasets and validation mechanisms2 Jun 2023
- 2022NewsEdits: A News Article Revision Dataset and a Document-Level Reasoning Challenge14 Jun 2022