paperbot · PL 论文追踪

全部论文 待读 收藏

P2 RefBot: Intelligent Software Refactoring Bot

RefBot:智能软件重构机器人
ASE 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE)2019匹配度 2/10 · 该论文聚焦于集成版本控制系统的自动重构机器人,属于软件工程/开发工具方向,但并未涉及用户核心关注的静态分析、LLM/Agentic 程序分析、形式化验证、浮点程序分析或贝叶斯程序分析,也没有将 LLM/Agent 作为分析工具。引用 56 inbox
Vahid Alizadeh, Mohamed Amine Ouali, Marouane Kessentini, Meriem Chater
crossref: 2026-09-12

AI 速览

一句话:提出集成版本控制系统的智能重构机器人 RefBot,可在 PR 中自动推荐重构序列并生成合并请求。

持续集成中的重构长期缺乏研究关注,而手工重构昂贵,现有自动重构工具又难以配置并集成到开发流水线。本文提出首个智能软件重构机器人 RefBot,它集成 GitHub 等版本控制系统,持续监控仓库,并在 pull request 的 open 或 merge 动作时触发。机器人分析该 PR 中变更的文件,依据一组质量属性识别重构机会,进而搜索最佳重构序列,并通过自动生成的 pull request 推荐这些重构及详细影响报告。开发者可审核、选择保留或忽略代码改动,然后关闭或批准合并。作者通过让经验丰富的开发者在开源与工业项目中使用该机器人,开展问卷调查,对其性能与有效性进行了定量和定性评估。

问题
持续集成场景下的增量重构支持不足;手工重构成本高,现有自动重构工具配置和集成困难,难以融入 DevOps 快速发布流程。
方法
提出集成版本控制系统的 RefBot,在 PR 触发时分析变更文件,利用质量属性识别重构机会并搜索最佳重构序列,自动生成带影响报告的 pull request 供开发者审核与合并。
评估
邀请经验丰富的开发者在开源和工业项目中使用 RefBot,并通过问卷调查对其性能与有效性进行定量和定性评估。
原文摘要(Abstract)

The adoption of refactoring techniques for continuous integration received much less attention from the research community comparing to root-canal refactoring to fix the quality issues in the whole system. Several recent empirical studies show that developers, in practice, are applying refactoring incrementally when they are fixing bugs or adding new features. There is an urgent need for refactoring tools that can support continuous integration and some recent development processes such as DevOps that are based on rapid releases. Furthermore, several studies show that manual refactoring is expensive and existing automated refactoring tools are challenging to configure and integrate into the development pipelines with significant disruption cost. In this paper, we propose, for the first time, an intelligent software refactoring bot, called RefBot. Integrated into the version control system (e.g. GitHub), our bot continuously monitors the software repository, and it is triggered by any "open" or "merge" action on pull requests. The bot analyzes the files changed during that pull request to identify refactoring opportunities using a set of quality attributes then it will find the best sequence of refactorings to fix the quality issues if any. The bot recommends all these refactorings through an automatically generated pull-request. The developer can review the recommendations and their impacts in a detailed report and select the code changes that he wants to keep or ignore. After this review, the developer can close and approve the merge of the bot's pull request. We quantitatively and qualitatively evaluated the performance and effectiveness of RefBot by a survey conducted with experienced developers who used the bot on both open source and industry projects.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot5255,
  title = {RefBot: Intelligent Software Refactoring Bot},
  author = {Vahid Alizadeh and Mohamed Amine Ouali and Marouane Kessentini and Meriem Chater},
  booktitle = {ASE},
  year = {2019},
  doi = {10.1109/ase.2019.00081}
}