paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Learning the Effects of Software Changes

学习软件变更的影响
ISSTA Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis2024匹配度 2/10 · 该论文属于机器学习辅助软件工程/自动程序修复,目标是缺陷定位、修复与变更效果预测,未涉及静态分析、LLM/Agent、浮点程序分析或贝叶斯程序分析等用户核心方向。虽然标签涉及机器学习与程序语言,但方法与问题均偏离研究画像。引用 0 inbox
Laura Plein
crossref: 2026-09-12

AI 速览

一句话:提出通过学习软件变更所带来的影响,实现跨项目、跨语言的缺陷定位、修复与变更效果预测。

软件开发需要反复迭代,其间调试、测试、缺陷定位与修复等任务虽已有自动化工具,但结果的整合仍依赖大量人工,且自动程序修复常依赖人工设计的修复模板,难以泛化到复杂项目。本文提出一条新的研究路线:学习软件变更与其影响之间的关联,从而在不局限于特定项目或编程语言的前提下定位并修复缺陷,并进一步预测变更会产生什么效果。作者在 Python 软件变更及其影响上进行了初步实验,训练出的模型能够生成 80% 的正确补丁,预测变更影响的准确率达到 81%。这些结果表明,学习软件变更的影响对改进软件开发流程具有潜力。

问题
现有调试、测试、缺陷定位与自动程序修复工具彼此割裂,需开发者手工整合,且基于固定修复模板的方法难以泛化到复杂项目与不同语言。
方法
提出学习软件变更影响的通用研究议程:从软件变更及其效果中训练模型,用于跨项目、跨语言的缺陷定位与修复,并预测变更带来的影响。
评估
在 Python 软件变更及其影响上开展初步实验,模型生成正确补丁的比例为 80%,变更影响预测准确率为 81%。
原文摘要(Abstract)

Software development requires several stages of code iterations, each one requiring debugging, testing, localizing and fixing bugs. While several tools have been developed to automate one of those tasks individually, integrating and combining those results still requires a huge manual effort from software developers. Additionally, many approaches, e.g., in Automated Program Repair, are based on specifically curated fix templates that fail to generalize to most complex software projects. To address those challenges, I propose a new research agenda to learn the effects of software changes in order to localize and fix bugs without being limited to a specific project or a specific programming language. Additionally, my approach can be used to predict the effects of software changes. My preliminary results indicate the feasibility of successfully training a model on Python software changes and their effects, that is capable of producing 80% of correct patches and predicting the effect of a change with an accuracy of 81%. My results highlight the potential of learning the effects of software changes for better software development.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot8500,
  title = {Learning the Effects of Software Changes},
  author = {Laura Plein},
  booktitle = {ISSTA},
  year = {2024},
  doi = {10.1145/3650212.3685550}
}