论文
AgentExecutor:通过代理上下文生成执行部分代码
AgentExecutor: Partial Code Execution via Agentic Context Generation
摘要
执行代码片段对于动态程序分析至关重要,但由于缺少上下文和不完整的依赖关系等问题,执行任意代码片段仍然具有挑战性。现有的部分代码执行方法(例如 LExecutor 和 Treefix)利用语言模型的强大功能来推断丢失的信息并启用执行。然而,它们面临着(i)有限的行动空间和反馈,以及(ii)严格的优化策略,这限制了它们的有效性和效率。在本文中,我们提出了 AgentExecutor,一种用于部分代码执行的新型多代理框架。我们的方法引入了三阶段设计:执行环境准备、迭代细化的动态探索以及通过程序综合的前缀演化。在 LLM 代理能够迭代思考、行动和获取反馈的强大支持下,AgentExecutor 能够自主探索更丰富的操作空间,从而实现创建资源文件和解析环境配置等多种操作。此外,它采用自适应优化策略,包括覆盖引导的上下文修剪和通过程序合成的前缀演化,系统地提高部分代码的执行质量。我们在两个广泛使用的数据集(包括 Stack Overflow 片段和开源项目代码)上评估 AgentExecutor。结果表明,AgentExecutor 的代码覆盖率高达 94% 和 90%,分别比最先进的方法 Treefix 高出 19.9% 和 13.8%。此外,AgentExecutor 还显着减少了执行时间(高达 80.3%)和成本(高达 56.6%)。这些发现表明 AgentExecutor 为部分代码执行提供了有效且高效的解决方案。