English

RefactorInsight: Enhancing IDE Representation of Changes in Git with Refactorings Information

Software Engineering 2021-08-26 v1

Abstract

Inspection of code changes is a time-consuming task that constitutes a big part of everyday work of software engineers. Existing IDEs provide little information about the semantics of code changes within the file editor view. Therefore developers have to track changes across multiple files, which is a hard task with large codebases. In this paper, we present RefactorInsight, a plugin for IntelliJ IDEA that introduces a smart diff for code changes in Java and Kotlin where refactorings are auto-folded and provided with their description, thus allowing users to focus on changes that modify the code behavior like bug fixes and new features. RefactorInsight supports three usage scenarios: viewing smart diffs with auto-folded refactorings and hints, inspecting refactorings in pull requests and in any specific commit in the project change history, and exploring the refactoring history of methods and classes. The evaluation shows that commit processing time is acceptable: on median it is less than 0.2 seconds, which delay does not disrupt developers' IDE workflows. RefactorInsight is available at https://github.com/JetBrains-Research/RefactorInsight. The demonstration video is available at https://youtu.be/-6L2AKQ66nA.

Keywords

Cite

@article{arxiv.2108.11202,
  title  = {RefactorInsight: Enhancing IDE Representation of Changes in Git with Refactorings Information},
  author = {Zarina Kurbatova and Vladimir Kovalenko and Ioana Savu and Bob Brockbernd and Dan Andreescu and Matei Anton and Roman Venediktov and Elena Tikhomirova and Timofey Bryksin},
  journal= {arXiv preprint arXiv:2108.11202},
  year   = {2021}
}

Comments

5 pages, 4 figures

R2 v1 2026-06-24T05:24:29.223Z