计算机科学 > 软件工程
[提交于 2025年7月14日
]
标题: 利用大型语言模型上的双检索增强微调和补丁生成加速自动程序修复
标题: Accelerating Automatic Program Repair with Dual Retrieval-Augmented Fine-Tuning and Patch Generation on Large Language Models
摘要: 自动化程序修复(APR)对于确保软件的可靠性与质量至关重要,同时可以提高效率并减轻开发人员的工作负担。 尽管基于规则和基于学习的APR方法已展示了其有效性,但它们的性能受到修复缺陷类型、训练数据质量和模型参数大小的限制。 最近,结合检索增强生成(RAG)的大语言模型(LLMs)在APR任务中被越来越多地采用。 然而,当前的代码LLMs和RAG设计既不能充分解决代码修复任务,也未考虑代码特定特征。 为了克服这些限制,我们提出了SelRepair,这是一种新颖的APR方法,结合了微调的LLM与新设计的双RAG模块。 该方法使用错误修复对数据集进行微调,并通过RAG选择门整合语义和语法/结构相似性信息。 这种设计确保相关信息能够高效检索,从而减少标记长度和推理时间。 在Java数据集上的评估表明,SelRepair优于其他APR方法,在不同数据集上精确匹配(EM)分别达到26.29%和17.64%,同时在控制输入长度的情况下,推理时间至少减少了6.42%。
文献和引用工具
与本文相关的代码,数据和媒体
alphaXiv (什么是 alphaXiv?)
CatalyzeX 代码查找器 (什么是 CatalyzeX?)
DagsHub (什么是 DagsHub?)
Gotit.pub (什么是 GotitPub?)
Hugging Face (什么是 Huggingface?)
带有代码的论文 (什么是带有代码的论文?)
ScienceCast (什么是 ScienceCast?)
演示
推荐器和搜索工具
arXivLabs:与社区合作伙伴的实验项目
arXivLabs 是一个框架,允许合作伙伴直接在我们的网站上开发和分享新的 arXiv 特性。
与 arXivLabs 合作的个人和组织都接受了我们的价值观,即开放、社区、卓越和用户数据隐私。arXiv 承诺这些价值观,并且只与遵守这些价值观的合作伙伴合作。
有一个为 arXiv 社区增加价值的项目想法吗? 了解更多关于 arXivLabs 的信息.