你随我命名,我随你运行:用于执行任意项目测试的 LLM 智能体
软件工程
2025-05-01 v2 人工智能
摘要
执行项目测试套件的能力在许多情境下都是必不可少的,例如评估代码质量和代码覆盖率、验证开发者或自动化工具所做出的代码更改,以及确保与依赖项的兼容性。尽管此项能力至关重要,但在实际操作中执行项目测试套件可能具有挑战性,因为不同项目使用不同的编程语言、软件生态系统、构建系统、测试框架以及其他工具。这些挑战使得创建一种可跨不同项目可靠、通用的测试执行方法变得困难。本文提出了 ExecutionAgent,这是一种自动化技术,用于为从源代码构建任意项目的脚本进行准备并运行其测试用例。受人类开发人员解决此任务方式的启发,我们的方法是一种基于大语言模型(LLM)的智能体,能够自主执行命令并与宿主系统交互。该智能体使用元提示语gatherGather有关给定项目的最新技术指南的指南,并根据前一步骤的反馈不断细化其过程。我们的评估将 ExecutionAgent 应用于 50 个开源项目,这些项目使用 14 种不同的编程语言和许多不同的构建和测试工具。该方法成功执行了 33/50 个项目的测试套件,同时将与基准测试套件执行结果的偏差仅为 7.5%。这些结果在之前最佳可获得技术的基础上提高了 6.6 倍。该方法的成本是合理的,平均每个项目的执行时间为 74 分钟,LLM 成本为 0.16 美元。我们设想 ExecutionAgent 将为需要跨多种项目执行测试的开发者、自动化编程工具和研究人员提供宝贵的工具。
引用
@article{arxiv.2412.10133,
title = {You Name It, I Run It: An LLM Agent to Execute Tests of Arbitrary Projects},
author = {Islem Bouzenia and Michael Pradel},
journal= {arXiv preprint arXiv:2412.10133},
year = {2025}
}
备注
PUBLISHED AT ISSTA 2025