计算机科学 > 软件工程
[提交于 2025年7月21日
]
标题: 输入简化增强的基于大语言模型的程序修复
标题: Input Reduction Enhanced LLM-based Program Repair
摘要: 大型语言模型(LLMs)在自动化程序修复(APR)中展现出巨大潜力。 测试输入对于推理失败的根本原因至关重要,总是包含在基于LLM的APR的提示中。 不幸的是, LLM难以在长提示中保留关键信息。 当测试输入在提示中较多时,这可能会引发“中间丢失”问题,影响修复性能。 为了解决这个问题,我们提出了ReduceFix,这是一种基于LLM的APR方法,内置一个组件可以自动减少测试输入同时保留其导致失败的行为。 ReduceFix提示LLM生成一个缩减器,以最小化导致失败的测试输入而无需人工努力,然后将缩减后的导致失败的输入提供给补丁生成。 为了有针对性的评估,我们构建了LFTBench,这是第一个具有200个真实错误的长输入APR基准,来自20个编程任务,每个任务都配有一个导致失败的输入,其中位数大小为1 MB。 在这个基准上,ReduceFix平均将输入减少89.1%,与包含原始测试的提示相比,整体pass@10提高了最多53.8%,与完全省略测试相比提高了17.6%。 将相同的缩减步骤添加到ChatRepair中,在不进行其他更改的情况下,其修复率提高了21.3%。 消融研究进一步突显了输入长度和压缩的失败信息对修复成功率的影响。 这些结果强调,自动减少失败输入是基于LLM的APR的一个实用且强大的补充,显著提高了其可扩展性和有效性。
文献和引用工具
与本文相关的代码,数据和媒体
alphaXiv (什么是 alphaXiv?)
CatalyzeX 代码查找器 (什么是 CatalyzeX?)
DagsHub (什么是 DagsHub?)
Gotit.pub (什么是 GotitPub?)
Hugging Face (什么是 Huggingface?)
带有代码的论文 (什么是带有代码的论文?)
ScienceCast (什么是 ScienceCast?)
演示
推荐器和搜索工具
arXivLabs:与社区合作伙伴的实验项目
arXivLabs 是一个框架,允许合作伙伴直接在我们的网站上开发和分享新的 arXiv 特性。
与 arXivLabs 合作的个人和组织都接受了我们的价值观,即开放、社区、卓越和用户数据隐私。arXiv 承诺这些价值观,并且只与遵守这些价值观的合作伙伴合作。
有一个为 arXiv 社区增加价值的项目想法吗? 了解更多关于 arXivLabs 的信息.