paperbot · PL 论文追踪

全部论文 待读 收藏

P2 On the relationship between refactoring actions and bugs: a differentiated replication

重构操作与缺陷之间的关系:一项差异化复现研究
FSE Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering2020匹配度 1/10 · 该论文是软件重构与缺陷关系的差异化复现,属于经验软件工程/挖掘软件仓库方向,未涉及静态分析、LLM/Agent、浮点程序分析或贝叶斯程序分析,与用户研究画像的核心方向基本无关。引用 1 inbox
Massimiliano Di Penta, Gabriele Bavota, Fiorella Zampetti
crossref: 2026-09-12

AI 速览

一句话:对Bavota等人2012年重构与缺陷关系研究的差异化复现,在103个系统上确认定量结论并辅以提交级定性分析。

软件重构原则上应保持外部行为,但已有研究发现某些重构操作可能引入缺陷。本文对Bavota等人2012年的研究进行差异化复现:改进其实验设计缺陷,利用提交级重构检测工具,将分析对象从3个系统扩展到103个系统,回答相同研究问题;并补充对提交的人工检查,验证重构操作在多大程度上触发缺陷修复。定量分析确认了原研究关于重构操作与缺陷关联的发现,而定性分析则部分澄清了重构操作在缺陷引入中的因果作用。

问题
重构是否以及哪些操作会引入缺陷,原研究实验设计存在弱点且数据集较小。
方法
基于提交级重构检测与缺陷数据挖掘,在103个系统上进行差异化复现,并人工检查提交以验证重构与缺陷修复的关系。
评估
通过定量统计复现原研究问题,并结合定性人工检查提交,比较与原研究结论的一致性及对重构致错角色的解释。
原文摘要(Abstract)

Software refactoring aims at improving code quality while preserving the system's external behavior. Although in principle refactoring is a behavior-preserving activity, a study presented by Bavota etal in 2012 reported the proneness of some refactoring actions (eg pull up method) to induce faults. The study was performed by mining refactoring activities and bugs from three systems. Taking profit of the advances made in the mining software repositories field (eg better tools to detect refactoring actions at commit-level granularity), we present a differentiated replication of the work by Bavota etal in which we (i) overcome some of the weaknesses that affect their experimental design, (ii) answer the same research questions of the original study on a much larger dataset (3 vs 103 systems), and (iii) complement the quantitative analysis of the relationship between refactoring and bugs with a qualitative, manual inspection of commits aimed at verifying the extent to which refactoring actions trigger bug-fixing activities. The results of our quantitative analysis confirm the findings of the replicated study, while the qualitative analysis partially demystifies the role played by refactoring actions in the bug introduction.

链接与引用

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

BibTeX
@inproceedings{paperbot5846,
  title = {On the relationship between refactoring actions and bugs: a differentiated replication},
  author = {Massimiliano Di Penta and Gabriele Bavota and Fiorella Zampetti},
  booktitle = {FSE},
  year = {2020},
  doi = {10.1145/3368089.3409695}
}