Toward Executable Repository-Level Code Generation via Environment Alignment
作者: Ruwei Pan, Junlei Shen, Linhao Wu, Yueheng Zhu, Zixiong Yang, Yakun Zhang, Lu Zhang, Hongyu Zhang
分类: cs.SE, cs.AI
发布日期: 2026-04-07
💡 一句话要点
提出EnvGraph框架,通过环境对齐实现可执行的仓库级代码生成。
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 代码生成 大型语言模型 环境对齐 仓库级代码 可执行性验证
📋 核心要点
- 现有代码生成方法难以生成可执行的仓库级代码,无法保证依赖正确安装和内部引用解析。
- EnvGraph将仓库可执行性建模为环境对齐问题,联合考虑外部依赖和内部引用,迭代优化。
- 实验表明,EnvGraph在仓库级代码生成任务上显著优于现有方法,在功能正确性和非功能质量上均有提升。
📝 摘要(中文)
大型语言模型(LLMs)在代码生成方面取得了显著进展,但现有方法在可执行验证下的仓库级代码生成方面仍然面临挑战。在这种评估设置下,成功与否取决于生成的多文件仓库是否能够成功安装,其依赖项和内部引用是否能够得到解决,是否能够启动,以及是否能够在实际执行环境中进行验证,而不仅仅是孤立代码片段的合理性。为了解决这一挑战,我们提出了EnvGraph,一个用于仓库级代码生成的框架,它将仓库可执行性形式化为一个环境对齐问题。EnvGraph联合建模了仓库成功执行的两个耦合条件,即外部依赖关系满足和仓库内部引用解析。它维护了一个双层环境表示,使用执行证据来执行基于执行证据的归因,并通过迭代对齐循环中的统一目标修订机制来指导仓库生成。我们在仓库级代码生成上使用三个代表性的骨干LLM评估EnvGraph,并将其与代表性的环境感知和仓库级基线进行比较。实验结果表明,EnvGraph在这些仓库级基准测试中始终取得最佳性能。特别是,它在功能正确性方面比最强的非EnvGraph基线高出5.72--5.87个百分点,在非功能质量方面高出4.58--8.66个百分点。
🔬 方法详解
问题定义:论文旨在解决仓库级别代码生成的可执行性问题。现有方法生成的代码片段虽然在语法上可能正确,但在实际的软件仓库环境中,往往无法成功安装、运行和验证。主要痛点在于忽略了外部依赖的满足和仓库内部引用关系的正确解析,导致生成的代码无法在一个完整的环境中工作。
核心思路:论文的核心思路是将仓库的可执行性问题转化为一个环境对齐问题。通过显式地建模外部依赖和内部引用关系,并利用执行反馈来指导代码生成过程,从而确保生成的代码能够在一个真实的环境中成功运行。这种方法强调了代码生成与执行环境之间的紧密耦合。
技术框架:EnvGraph框架包含以下主要模块:1) 双层环境表示:维护外部依赖和内部引用的双层环境表示。2) 执行证据归因:利用执行反馈(例如错误信息)来定位代码中的问题。3) 目标修订机制:根据执行证据,有针对性地修改代码,以解决依赖和引用问题。整个流程是一个迭代的对齐循环,不断地生成、执行、归因和修订代码,直到满足可执行性要求。
关键创新:EnvGraph的关键创新在于将环境对齐的概念引入到仓库级代码生成中,并提出了双层环境表示和执行证据归因方法。与现有方法相比,EnvGraph不再仅仅关注代码片段的语法正确性,而是更加关注代码在真实环境中的可执行性。通过迭代的对齐循环,EnvGraph能够逐步解决依赖和引用问题,最终生成可执行的仓库级代码。
关键设计:EnvGraph使用图结构来表示外部依赖和内部引用关系。外部依赖图描述了仓库所需的外部库和工具,内部引用图描述了仓库内部文件之间的引用关系。执行证据归因模块使用一种基于规则的方法来将执行错误信息映射到代码中的具体位置。目标修订机制使用大型语言模型来生成代码修改建议,并根据修改建议来更新代码。
🖼️ 关键图片
📊 实验亮点
EnvGraph在仓库级代码生成任务上取得了显著的性能提升。实验结果表明,EnvGraph在功能正确性方面比最强的非EnvGraph基线高出5.72--5.87个百分点,在非功能质量方面高出4.58--8.66个百分点。这些结果表明,EnvGraph能够有效地解决仓库级代码生成中的可执行性问题。
🎯 应用场景
该研究成果可应用于自动化软件开发、代码修复和代码迁移等领域。通过自动生成可执行的仓库级代码,可以显著提高软件开发的效率和质量。此外,该方法还可以用于自动化修复代码中的依赖和引用错误,以及将代码从一个环境迁移到另一个环境。
📄 摘要(原文)
Large language models (LLMs) have achieved strong performance on code generation, but existing methods still struggle with repository-level code generation under executable validation. Under this evaluation setting, success is determined not by the plausibility of isolated code fragments, but by whether a generated multi-file repository can be successfully installed, have its dependencies and internal references resolved, be launched, and be validated in a real execution environment. To address this challenge, we propose EnvGraph, a framework for repository-level code generation that formulates repository executability as an environment alignment problem. EnvGraph jointly models two coupled conditions for successful repository execution, namely external dependency satisfaction and repository-internal reference resolution. It maintains a dual-layer environment representation, uses execution evidence to perform execution-evidence-based attribution, and guides repository generation through a unified targeted revision mechanism within an iterative alignment loop. We evaluate EnvGraph on repository-level code generation with three representative backbone LLMs and compare it against representative environment-aware and repository-level baselines. Experimental results show that EnvGraph consistently achieves the best performance on these repository-level benchmarks. In particular, it outperforms the strongest non-EnvGraph baseline by an absolute margin of 5.72--5.87 percentage points in Functional Correctness and 4.58--8.66 percentage points in Non-Functional Quality.