论文

通过运行时程序状态推理改进代码的大语言模型

Improving Large Language Models for Code through Runtime Program-State Reasoning

模型训练强化学习

摘要

大语言模型在推理运行时程序状态方面接受的显式训练有限。我们研究推理运行时程序状态的训练模型是否可以提高下游软件工程能力。我们引入两个互补的程序状态推理任务。有缺陷的输入输出推理需要一个模型来生成具体的输入,该输入揭示有缺陷的程序和隐藏的正确实现之间的行为差​​异,并预测最终的执行行为。前置条件-后置推理需要Agent以符号方式描述错误触发的前置条件,预测预期的后置条件,解释它们的因果关系,并将此推理实例化为可执行的回归测试。通过将这两个任务合并到分阶段的训练后流程中,我们开发了 Comet-9B,这是一种基于 Qwen3.5-9B Base 的 9B 语言模型。我们评估存储库级补丁生成、回归测试生成和安全 PoC 生成的检查点。将程序状态推理任务添加到问题解决的监督微调 (SFT) 中,SWE-bench Pro 上的成功率提高了 7.25 个百分点,SWT-Bench Verified 上的成功率提高了 9.70 个百分点。这两项任务的顺序强化学习在 SWE-bench Pro、SWT-Bench Verified 和 Cyber​​Gym 上分别获得了 7.25、26.79 和 4.67 个百分点的进一步提升。尽管只有 9B 个参数,Comet-9B 的得分与 SWE-bench Pro 上报告的 GPT-5.2 结果相当,并且与 SWT-Bench Verified 上报告的基于 GPT-4o 的Agent的成功率相匹配。