arXiv cs.AI精选79

真实世界代码仓库中的可信运行时错误修复:基准测试与防护机制

Trustworthy Runtime Error Healing in Real-World Repositories: A Benchmark and Guardrail

· 14天前

精选理由

提出真实仓库运行时错误修复基准与安全护栏,助力评估修复效果并防范代码执行风险。

AI 摘要

运行时错误修复通过生成能够修复程序实时运行状态的代码,使崩溃的程序得以继续运行。近期研究表明,LLM 能够生成此类修复代码,但相关评估仅针对小型竞赛程序,而在实时进程中执行 LLM 生成的代码还会引发尚未得到解决的安全问题。在本文中,我们推动基于 LLM 的运行时错误修复走向真实世界代码仓库中的实际应用。首先,我们构建了 HealBench,这是一个包含来自 18 个真实世界代码仓库的 265 个运行时错误的基准测试集,其中每个错误都与修补版本上的参考执行相关联。HealBench 还提供了一个统一框架,使 LLM agent 能够利用跨文件上下文和实时运行时状态进行修复。随后,我们设计了 HealGuard,要求修复代码使用 HealCore(Python 的一个可分析子集)编写,并利用静态和动态污点分析检查修复所更改的状态是否会流向开发者保护的操作。我们使用三个骨干 LLM 对一种专用修复方法和三个通用编码 agent 进行了评估。最佳设置能够在 38.11% 的实例中恢复执行,并在 28.68% 的实例中通过目标测试,表明现有 agent 已经能够修复真实代码仓库级崩溃中相当一部分。然而,在通过测试的执行中,HealGuard 标记出其中 17.4% 的实例,因为这些实例中由修复更改的状态可能会流向受保护的操作。在 684 个受控案例上,HealGuard 检测出了所有不安全案例,但误报率达到了 68.42%。

查看原文(arXiv cs.AI)