paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Decomposing the rationale of code commits: the software developer’s perspective

分解代码提交的理由:软件开发者的视角
FSE Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering2019匹配度 1/10 · 该论文是软件工程实证研究,关注开发者如何分解代码提交理由,属于开发者实践与文档/沟通问题,与用户画像中的静态分析、Agentic 程序、LLM 与形式化验证、浮点程序分析、贝叶斯程序分析等核心方向基本无关。引用 15 inbox
Khadijah Al Safwan, Francisco Servant
crossref: 2026-09-12

AI 速览

一句话:通过混合方法揭示开发者将代码提交理由分解为15个组成部分,并分析其经验与启示。

论文关注代码提交中决策理由难以理解的问题,认为困难部分源于将 rationale 视为单一信息。作者采用混合方法,先访谈20名软件开发者了解其如何分解提交理由,再调查24名开发者以理解其需要、查找和记录各组成部分的经验。研究发现开发者将代码提交理由分解为15个组成部分:目标、需求、收益、约束、备选方案、选定方案、依赖、提交者、时间、位置、修改、修改解释、验证、成熟阶段和副作用;各组件被需要、查找和记录的程度不同。研究为教育者、实践者和研究者提供了启示,并提出面向开发者所需组件的自动评估、改进与生成提交理由的技术方向。

问题
代码提交背后的决策理由通常被当作单一信息,导致维护者难以理解其依据;论文研究开发者将提交理由分解为哪些组成部分,以及他们需要、查找和记录这些组件的经验。
方法
采用混合方法:访谈20名开发者归纳分解方式,并用问卷调研24名开发者对各组件经验进行验证与补充。
评估
基于20次访谈和24份问卷的定性/定量混合分析,报告15个组件及其在需要、查找、记录上的差异。
原文摘要(Abstract)

Communicating the rationale behind decisions is essential for the success of software engineering projects. In particular, understanding the rationale of code commits is an important and often difficult task. We posit that part of such difficulty lies in rationale often being treated as a single piece of information. In this paper, we set to discover the breakdown of components in which developers decompose the rationale of code commits in the context of software maintenance, and to understand their experience with it and with its individual components. For this goal, we apply a mixed-methods approach, interviewing 20 software developers to ask them how they decompose rationale, and surveying an additional 24 developers to understand their experiences needing, finding, and recording those components. We found that developers decompose the rationale of code commits into 15 components, each of which is differently needed, found, and recorded. These components are: goal, need, benefits, constraints, alternatives, selected alternative, dependencies, committer, time, location, modifications, explanation of modifications, validation, maturity stage, and side effects. Our findings provide multiple implications. Educators can now disseminate the multiple dimensions and importance of the rationale of code commits. For practitioners, our decomposition of rationale defines a "common vocabulary" to use when discussing rationale of code commits, which we expect to strengthen the quality of their rationale sharing and documentation process. For researchers, our findings enable techniques for automatically assessing, improving, and generating rationale of code commits to specifically target the components that developers need.

链接与引用

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

BibTeX
@inproceedings{paperbot5064,
  title = {Decomposing the rationale of code commits: the software developer’s perspective},
  author = {Khadijah Al Safwan and Francisco Servant},
  booktitle = {FSE},
  year = {2019},
  doi = {10.1145/3338906.3338979}
}