中文

Otter: 从问题生成测试以验证软件工程补丁

软件工程 2025-06-02 v2 机器学习

摘要

虽然已有大量工作聚焦于从现有代码生成测试,但从问题生成测试的工作有限。正确的测试必须验证解决问题的代码补丁。本文关注代码补丁尚未存在的场景,从而支持两种主要用例:其一,支持测试驱动开发(TDD),即“先编写测试、后编写代码”的开发范式,已有充分文档记录其对 human 软件工程师的益处;其二,验证生成问题解决方案代码补丁的软件工程(SWE)代理。这篇论文介绍了 TDD-Bench-Verified,用于从问题生成测试的基准数据集,以及 Otter,用于完成此任务的 LLM 解决方案。Otter 通过基于规则的分析来检查和修复其输出,并引入一种新颖的自反式行动规划器。实验表明,Otter 在生成问题测试方面优于最先进的系统,同时也能提升生成问题补丁的系统。我们希望 Otter 能提高开发人员解决问题的生产力,并促进更健壮、更充分测试的代码。

关键词

引用

@article{arxiv.2502.05368,
  title  = {Otter: Generating Tests from Issues to Validate SWE Patches},
  author = {Toufique Ahmed and Jatin Ganhotra and Rangeet Pan and Avraham Shinnar and Saurabh Sinha and Martin Hirzel},
  journal= {arXiv preprint arXiv:2502.05368},
  year   = {2025}
}

备注

Accepted to the main technical track of the International Conference on Machine Learning (ICML), 2025