中文

利用往返翻译评估大型语言模型的潜在自动程序修复能力

软件工程 2025-10-16 v2 计算与语言 机器学习

摘要

研究表明,自然语言中的错误可以通过使用语言模型将文本翻译成另一种语言再翻译回来进行纠正。我们通过研究往返翻译(RTT):使用大型语言模型(LLM)将代码从一种编程语言翻译成另一种编程语言或自然语言再翻译回来,来探索这种潜在纠正能力在多大程度上扩展到自动程序修复(APR)。我们假设RTT通过向均值回归,将不常见的错误替换为更常见、自然、无错误的代码,从而恢复LLM训练语料库中最常见的模式。为了验证这一假设,我们使用了九个LLM和四个常见的Java APR基准,并对RTT生成的补丁进行了详细的定量和定性分析。我们发现,在HumanEval-Java基准上,使用GPT-4通过英语进行RTT为164个错误中的100个生成了合理的补丁,其中97个在我们的手动评估中被认为是正确的。此外,RTT为46个被专门针对APR微调的LLM遗漏的错误生成了独特的合理补丁。虽然这证明了RTT用于APR的可行性,但我们也观察到了一些局限性,例如总体错误修复率低于最先进水平,以及稀释了原始编码风格。我们分析了这些局限性的影响,并讨论了将RTT作为APR框架中补充组件的潜力。可从https://doi.org/10.5281/zenodo.10500593下载复制包。关键词:自动程序修复,大型语言模型,机器翻译

关键词

引用

@article{arxiv.2401.07994,
  title  = {Assessing the Latent Automated Program Repair Capabilities of Large Language Models using Round-Trip Translation},
  author = {Fernando Vallecillos Ruiz and Anastasiia Grishina and Max Hort and Leon Moonen},
  journal= {arXiv preprint arXiv:2401.07994},
  year   = {2025}
}

备注

Accepted for publication in ACM Transactions on Software Engineering and Methodology (TOSEM)