paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Automating Code-Change Rationale Generation to Support Software Maintenance Tasks

自动化代码变更理由生成以支持软件维护任务
ICSE Proceedings of the 2026 IEEE/ACM 48th International Conference on Software Engineering2026匹配度 3/10 · 该论文聚焦代码变更理由的自动生成、个性化与任务定制,属于软件维护和开发者工具方向;与用户关注的静态分析、形式化验证、浮点程序分析、贝叶斯程序分析以及 Agentic 程序分析/LLM 与静态分析交叉均无直接重合。仅可能作为 LLM 辅助软件维护的相邻工作参考,匹配度较低。引用 0 inbox
Mehedi Sun
crossref: 2026-09-12

AI 速览

一句话:面向代码变更理由的细粒度、个性化、任务定制化自动生成,支撑代码评审、调试与新人上手等维护任务。

理解代码变更背后的理由(rationale)对软件维护至关重要,但文档碎片化、缺少清晰可执行的解释,使开发者难以弄清“为何改”。本博士研究旨在提供细粒度、个性化、任务定制的变更理由解释,包含三项工作:(1)抽取并生成跨多文档的细粒度理由摘要;(2)建模开发者画像,依据其专业水平与熟悉度裁剪解释;(3)面向代码评审、调试、新人上手等维护活动生成任务特定的理由。预期贡献包括新的实证洞见、一个跨工件且细粒度的理由基准,以及一个支持个性化、任务感知理由生成的自动化工具,以增进开发者理解并支撑软件维护。

问题
开发者难以理解代码变更背后的理由:相关依据分散于提交信息、缺陷报告、评审讨论等多个工件,文档碎片化且缺乏清晰、可操作的变更解释。
方法
提出三项技术:跨多文档抽取并生成细粒度变更理由摘要;建模开发者画像以按专业水平与熟悉度定制解释;面向代码评审、调试、新人上手等任务生成任务特定理由。
评估
通过新的实证研究获得洞见,并构建跨工件、细粒度的理由基准与自动化工具,以支撑并检验个性化、任务感知的理由生成效果。
原文摘要(Abstract)

Understanding the reasons(rationale) behind code changes is essential for effective software maintenance, yet developers often struggle with fragmented documentation and the absence of clear, actionable rationale explanations. This research aims to bridge that gap by enabling fine-grained, personalized, and task-specific explanations of why code changes occur. We (1) develop techniques to extract and generate multi-document, fine-grained rationale summaries, (2) model developer profiles to tailor explanations to their expertise and familiarity, and (3) generate task-specific rationales for activities such as code review, debugging, and onboarding. Together, this work contributes new empirical insights, a cross-artifact and fine-grained rationale benchmark, and an automated tool for personalized, task-aware rationale generation to advance developer understanding and support software maintenance.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot11533,
  title = {Automating Code-Change Rationale Generation to Support Software Maintenance Tasks},
  author = {Mehedi Sun},
  booktitle = {ICSE},
  year = {2026},
  doi = {10.1145/3774748.3787676}
}