论文
SWE-Gate:对于软件工程代理而言,仅通过功能测试还不够
SWE-Gate: Passing Functional Tests Is Not Enough for Software Engineering Agents
摘要
存储库级软件工程基准测试极大地推进了 编码智能体 的评估,但现有基准测试主要衡量生成的补丁是否通过功能测试,而忽略了审查衍生的验收约束(审查约束),这些约束通常会影响补丁在实际软件开发中是否可接受。我们引入了 SWE-Gate,这是软件工程代理的存储库级基准,可明确评估审查约束合规性以及功能正确性。 SWE-Gate 从真实的拉取请求审查评论中得出审查约束,并围绕这些约束综合存储库级修复实例。每个实例都提供单独的功能和约束测试,以及不合规和标准补丁,从而实现问题解决能力和审查约束合规性之间的明确分离。我们构建了 SWE-Gate,其中包含 303 个存储库级修复实例,涵盖不同软件领域的 75 个开源 Python 存储库。在通用编码代理支架下使用跨越不同功能级别的四个 LLM 后端进行的实验揭示了功能成功与完整修复规范下成功之间的巨大差距:在通过功能测试的 644 个修复中,有 221 个无法满足所提供的审查约束。这些发现表明,仅功能评估高估了代理满足存储库级修复任务全部要求的能力。包括代码、数据和实验结果的复制包可在 https://github.com/DeepSoftwareAnalytics/SWE-Gate 上获取。