中文

SWE-Doctor:利用多方面缺陷复现测试的运行时诊断来指导软件工程智能体

软件工程 2026-07-01 v1 人工智能

摘要

基于大语言模型(LLM)的软件工程智能体正越来越多地被开发用于通过从问题报告和代码仓库生成补丁来解决软件问题。缺陷复现测试(BRT)是此类智能体的重要构建模块,并已被证明对补丁验证有用。然而,尚不清楚BRT是否也能帮助更核心的补丁生成阶段。我们首先进行了一项初步研究,发现直接使用先进的BRT生成器来指导补丁生成并无益处:失败到失败的BRT可能误导智能体,而即使是失败到通过的BRT带来的收益也有限或为负。我们的分析揭示了两个原因:失败到通过的BRT可能只覆盖了所报告问题的一种表现形式,导致补丁不完整,而失败到失败的BRT作为直接的补丁生成目标不可靠。受这些见解的启发,我们提出了SWE-Doctor,一个软件问题解决智能体,它利用从多方面BRT执行中得出的运行时诊断来指导补丁生成。SWE-Doctor首先为问题中陈述的不同行为需求生成多方面的BRT,然后执行并调试这些BRT以构建基于运行时的诊断记录,最后使用诊断信息以及BRT生成期间推断出的定位信息来指导补丁生成并减少不完整的补丁。我们在广泛采用的SWE-bench Verified和SWE-bench Pro上,针对五个LLM后端评估了SWE-Doctor在Python错误修复问题上的表现。SWE-Doctor在所有10种LLM-基准组合中持续优于现有智能体,在SWE-bench Verified上平均解决率达到75.7%,在SWE-bench Pro上达到59.4%。特别是在更具挑战性的SWE-bench Pro上,SWE-Doctor将平均解决率比基线智能体提高了8.0-8.9个百分点。

关键词

引用

@article{arxiv.2607.00990,
  title  = {SWE-Doctor: Guiding Software Engineering Agents with Runtime Diagnosis from Multi-Faceted Bug Reproduction Tests},
  author = {Yaoqi Guo and Yang Liu and Jie M. Zhang and Yun Ma and Yiling Lou and Zhenpeng Chen},
  journal= {arXiv preprint arXiv:2607.00990},
  year   = {2026}
}