用于代码修复的运行时反馈
自动程序修复(APR)研究正在把执行证据作为一等输入。PracRepair 将静态代码上下文与失败测试轨迹、变量值、分支结果、验证诊断和轨迹差异结合起来。使用 GPT-4o 时,它报告在 Defects4J V1.2 上正确修复 162 个缺陷,在 V2.0 上正确修复 171 个缺陷,还包含许多 ReInFix 没有找到的修复。
另一项代码修正研究在更简单的循环中测试同一思路:生成代码,运行代码,返回编译器错误或失败测试细节,然后修改。GPT-o4-mini 在 450 题核心集上的 pass@1 领先;该研究还发现,语法和运行时失败比逻辑和算法错误更容易修复。
测试生成仍是弱点。在 86,156 个由智能体编写的测试文件补丁中,80.2% 包含弱预言机信号,或没有明确的预言机信号。这个发现很关键,因为测试文件可以执行代码,却仍然不检查任何预期行为。