LLM2D
你命名它,我运行它:一个LLM代理执行任意项目测试
You Name It, I Run It: An LLM Agent to Execute Tests of Arbitrary Projects
作者: Islem Bouzenia, Michael Pradel
发布日期: 5/1/2025
arXiv ID: oai:arXiv.org:2412.10133v2

摘要

arXiv:2412.10133v2 宣告类型: replace-cross 摘要:能够执行项目中的测试套件在许多场景中都是必不可少的,例如评估代码质量、代码覆盖率,验证开发人员或自动化工具所做的代码更改,以及确保与依赖项的兼容性。尽管其重要性不言而喻,但在实践中执行项目测试套件可能因各种因素而具有挑战性,包括不同的编程语言、软件生态系统、构建系统、测试框架以及其他工具。这些挑战使得创建一种可靠且适用于不同项目的测试执行方法变得更加困难。本文介绍了ExecutionAgent,这是一种自动化的技术,可以为任意项目准备从源代码构建和运行其测试案例的脚本。我们的方法受到人类开发人员如何完成此任务的启发,是一种基于大型语言模型(LLM)的代理,能够自主执行命令并与主机系统交互。代理使用元提示来收集与给定项目相关的最新技术指南,并根据前一步骤的反馈不断改进其过程。我们的评估将ExecutionAgent应用于50个使用14种不同编程语言和许多不同构建和测试工具的开源项目。该方法成功执行了33/50个项目的测试套件,并且其测试结果与真实测试套件执行结果的一致性偏差仅为7.5%。这些结果比之前最佳可用的技术提高了6.6倍。该方法的实施成本合理,平均每个项目执行时间为74分钟,LLM成本为1.6美元。我们设想ExecutionAgent将成为开发人员、自动化编程工具和研究人员的一种有价值的工具,他们在跨众多项目执行测试时都需要这一工具。