paperbot · PL 论文追踪

全部论文 待读 收藏

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

RefactorInsight:利用重构信息增强 IDE 中 Git 变更的表示
ASE 2021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE)2021匹配度 2/10 · 该论文聚焦 IDE 中 Git 变更的重构信息展示与自动折叠,属于开发者工具与重构检测,不涉及用户关注的 LLM/Agent 与静态分析交叉、浮点程序分析或贝叶斯程序分析。虽有工程实现和 JetBrains 工业插件背景,但研究问题不在画像核心方向内。引用 12 inbox
Zarina Kurbatova, Vladimir Kovalenko, Ioana Savu, Bob Brockbernd, Dan Andreescu, Matei Anton, Roman Venediktov, Elena Tikhomirova, Timofey Bryksin
crossref: 2026-09-12

AI 速览

一句话:为 IntelliJ IDEA 构建插件,将重构自动折叠并提供说明,使开发者专注于行为变更。

检查代码变更在软件工程师日常工作中耗时且困难,现有 IDE 在文件编辑视图中很少揭示变更的语义。为此,作者提出 RefactorInsight,一个面向 IntelliJ IDEA 的插件,为 Java 和 Kotlin 代码变更引入智能 diff:自动折叠重构并给出其描述,让用户聚焦于修复缺陷、新增功能等会改变代码行为的变更。该工具支持三种使用场景:查看带自动折叠重构和提示的智能 diff、检查 pull request 及任意特定提交中的重构、以及探索方法和类的重构历史。评估显示提交处理时间中位数低于 0.2 秒,这一延迟不会打断开发者的 IDE 工作流。

问题
现有 IDE 对代码变更的语义信息呈现不足,开发者在大规模代码库中需跨多个文件追踪变更,难以区分重构与行为修改。
方法
实现 IntelliJ IDEA 插件 RefactorInsight,为 Java/Kotlin 的 Git 变更生成智能 diff,自动折叠重构并附带描述,同时支持在提交、pull request 和历史中查看重构信息。
评估
通过测量提交处理时间进行评估,结果显示中位数低于 0.2 秒,表明该延迟不会破坏开发者的 IDE 工作流。
原文摘要(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.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot6631,
  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},
  booktitle = {ASE},
  year = {2021},
  doi = {10.1109/ase51524.2021.9678646}
}