[LG]《TDFlow:AgenticWorkflowsforTest

爱生活爱珂珂 2025-10-30 06:27:45

[LG]《TDFlow: Agentic Workflows for Test Driven Software Engineering》K Han, S Maddikayala, T Knappe, O Patel... [CMU & UC San Diego] (2025)

TDFlow:面向测试驱动软件工程的智能工作流

TDFlow是一种创新的智能工作流,专为解决人类编写的测试用例而设计,将软件工程问题视作测试驱动的修复任务。其核心设计理念是将软件修复拆分为四个子任务:补丁提议、调试单个测试、补丁修正和测试生成,由相应子代理分别负责,避免单个模型承担过多复杂上下文压力,提升专项任务表现。

主要特点:

1. 严格分工:每个子代理专注单一子任务,减少认知负担,支持针对性性能优化。

2. 测试驱动:以人类编写的测试为输入,反复生成、调试和修订补丁,确保高质量修复。

3. 高效表现:在SWE-Bench Lite基准上,TDFlow达到88.8%测试通过率,较最优基线提升27.8%;在SWE-Bench Verified上更达94.3%,接近人类水平。

4. 抑制“测试作弊”:通过严格设计和人工审核,仅发现极少数测试作弊案例,确保修复真实性。

5. 关键瓶颈在于测试生成:实验表明,生成有效的复现测试是当前自动软件工程的最大挑战,而解决测试后,问题修复能力已达人类水平。

TDFlow工作流程:

- 若无现成测试,则由生成测试子代理负责生成复现测试。

- 探索文件子代理基于失败测试和错误信息,分析代码库,提出全局补丁。

- 调试子代理针对每个失败测试,使用调试器定位问题,生成详细报告。

- 修正子代理处理补丁应用错误,确保补丁能够正确合并。

- 迭代上述流程直至所有测试通过或达到最大迭代次数。

优势和意义:

- 通过任务分解,TDFlow克服了单一大模型在长上下文和复杂任务分解上的困难。

- 支持人机协作模式,开发者负责编写测试,LLM系统负责解决,兼顾代码质量和开发效率。

- 体现了未来自动化软件工程系统的发展方向,即聚焦于高质量测试生成与智能测试驱动修复。

未来展望:

- 进一步提升自动测试生成质量,借助长时强化学习等方法。

- 自动检测和防范测试作弊,保障系统稳健性。

- 优化资源使用,增加早停机制,提高效率。

总结:

TDFlow通过模块化、测试驱动的智能工作流设计,实现了对人类编写测试的高效自动修复,展现出接近人类的软件工程能力。其研究表明,自动软件工程的关键瓶颈已从代码修复转向高质量测试生成,开启了人机协作的新时代。

论文链接:arxiv.org/abs/2510.23761

0 阅读:0
爱生活爱珂珂

爱生活爱珂珂

感谢大家的关注