论文
使用 LLM 进行基于差异的代码损坏进行大规模错误修复基准测试
Diff-Based Code Corruption using LLMs for Large-Scale Bugfix Benchmarking
摘要
有多种基准来评估 大语言模型 的错误修复能力。然而,大多数广泛使用的基准测试并不能完全反映现实世界的错误修复实践。它们都很小,削弱了统计可靠性,而且有缺陷的程序通常彼此相似,可能会扭曲评估结果。 bug 类型的范围也可能很窄,无法捕获具有代表性的 bug 范围。为了解决这些问题,我们引入了 MegaBugFix,这是一个大规模的错误修复基准,包含由 大语言模型 从正确的 Python 程序合成的 12,629 个有错误的 Python 程序。错误注入是作为代表代码更改的差异生成的。通过这种方法,我们能够避免基于 LLM 的突变技术的常见陷阱,例如注入过于简单的错误或无法修改输入程序。我们在 MegaBugFix 和基线基准上评估了 13 个开放权重模型,发现 MegaBugFix 的性能始终较低。这表明我们的基准测试存在更具挑战性的错误,并暴露了在评估现有基准测试时可能隐藏的模型故障。用于错误注入的基准和微调模型可在 hf.co/collections/szalontaib/megabugfix 上找到。