paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Patching as translation

补丁即翻译:程序修复中翻译模型适用性的实证研究
ASE Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering2020匹配度 3/10 · 论文属于程序修复/ML4Code,讨论序列到序列与翻译模型在补丁生成中的适用性,与用户画像中的静态分析、Agentic 程序、LLM/Agent 改进静态分析或形式化验证、浮点/贝叶斯程序分析均无直接交集;且方法基于早期 seq2seq 而非当前 LLM/Agent 工具链。引用 2 inbox
Yangruibo Ding, Baishakhi Ray, Premkumar Devanbu, Vincent J. Hellendoorn
crossref: 2026-09-12

AI 速览

一句话:实证表明程序修复虽受益于通用序列到序列模型,却不应照搬机器翻译设计,基于此提出更有效的编辑合成修复方案。

本文重新审视“补丁修复类似语言翻译”这一移植假设,以程序修复为案例比较序列到序列模型与机器翻译模型。研究发现,程序修复虽能从通用 seq2seq 架构显著受益,却会受翻译模型内建设计选择的损害,无论翻译准确率还是多样性均受影响。基于实证结果与软件开发知识,作者提出更原则化的模型设计,并支持以缺陷上下文为条件合成代码编辑的修复趋势。作者实现概念验证工具,实验证实其相比翻译式架构更有效且行为根本不同。结果说明,研究机器学习模型细节既能揭示被准确率掩盖的问题,也能推动模型创新并提升修复水平。复现数据与材料将公开。

问题
论文质疑将机器翻译模型直接移植到程序修复的合理性,探究“补丁即翻译”假设下翻译模型设计对修复效果的影响。
方法
通过实证比较 seq2seq 与翻译模型,分析准确率与多样性差异,并基于发现实现以缺陷上下文为条件合成编辑的概念验证修复工具。
评估
在程序修复任务上对比翻译式架构与所提编辑合成模型的修复效果与行为差异。
原文摘要(Abstract)

Machine Learning models from other fields, like Computational Linguistics, have been transplanted to Software Engineering tasks, often quite successfully. Yet a transplanted model's initial success at a given task does not necessarily mean it is well-suited for the task. In this work, we examine a common example of this phenomenon: the conceit that "software patching is like language translation". We demonstrate empirically that there are subtle, but critical distinctions between sequence-to-sequence models and translation model: while program repair benefits greatly from the former, general modeling architecture, it actually suffers from design decisions built into the latter, both in terms of translation accuracy and diversity. Given these findings, we demonstrate how a more principled approach to model design, based on our empirical findings and general knowledge of software development, can lead to better solutions. Our findings also lend strong support to the recent trend towards synthesizing edits of code conditional on the buggy context, to repair bugs. We implement such models ourselves as "proof-of-concept" tools and empirically confirm that they behave in a fundamentally different, more effective way than the studied translation-based architectures. Overall, our results demonstrate the merit of studying the intricacies of machine learned models in software engineering: not only can this help elucidate potential issues that may be overshadowed by increases in accuracy; it can also help innovate on these models to raise the state-of-the-art further. We will publicly release our replication data and materials at https://github.com/ARiSE-Lab/Patch-as-translation.

链接与引用

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

BibTeX
@inproceedings{paperbot6011,
  title = {Patching as translation},
  author = {Yangruibo Ding and Baishakhi Ray and Premkumar Devanbu and Vincent J. Hellendoorn},
  booktitle = {ASE},
  year = {2020},
  doi = {10.1145/3324884.3416587}
}