论文

RepoReasoner:评估长上下文语言模型的存储库级代码推理能力

RepoReasoner: Evaluating Repository-Level Code Reasoning Ability of Long-Context Language Models

模型评测基准与评测资源

摘要

最近的 大语言模型 (LLM) 在软件工程任务上表现出了强大的性能,但大多数现有基准测试都是在函数级别评估代码推理,其中所有相关信息都是本地化的。此设置无法反映现实世界的开发,这需要跨多个文件和复杂的依赖关系结构进行推理。我们引入了 RepoReasoner,这是一个评估存储库级代码推理的基准。它评估两种互补的能力:输出预测(测量跨文件的细粒度、有状态执行推理)和调用链预测(评估嘈杂环境下的高级架构依赖性理解)。我们的基准测试是通过多阶段管道构建的,该管道利用 pytest 执行的动态跟踪来获取 真值 调用链,以及基于 LLM 的 I/O 重写以减少记忆效应。我们评估了七种最先进的 LLM。即使在预言机环境下,性能最好的模型在输出预测上也仅达到 69.1% Pass@1,这表明跨文件推理仍然是一个重大挑战。在调用链预测中,模型表现出高精度但召回率低,表明多跳依赖性理解有限。此外,重写数据的性能下降表明对记忆的部分依赖,并且由于噪声,较长的上下文并不能持续改善结果。这些发现突出了当前 LLM 存储库级推理的基本局限性,并激励未来在结构化架构理解和跨文件推理方面的工作。