LoCoBench: A Benchmark for Long-Context Large Language Models in Complex Software Engineering
作者: Jielin Qiu, Zuxin Liu, Zhiwei Liu, Rithesh Murthy, Jianguo Zhang, Haolin Chen, Shiyu Wang, Ming Zhu, Liangwei Yang, Juntao Tan, Zhepeng Cen, Cheng Qian, Shelby Heinecke, Weiran Yao, Silvio Savarese, Caiming Xiong, Huan Wang
分类: cs.SE, cs.AI
发布日期: 2025-09-11
备注: 53 pages
🔗 代码/项目: GITHUB
💡 一句话要点
LoCoBench:用于评估长上下文LLM在复杂软件工程中性能的基准测试
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 长上下文LLM 软件工程 基准测试 代码理解 代码生成
📋 核心要点
- 现有代码评估基准侧重于单函数或短上下文,无法有效评估LLM在理解大型代码库和跨文件推理的长上下文能力。
- LoCoBench通过构建包含8000个场景的基准测试,覆盖10种编程语言,上下文长度从10K到1M token,系统性地评估LLM的长上下文性能。
- 实验结果表明,现有长上下文LLM在复杂软件开发任务中存在显著性能差距,凸显了该领域仍面临巨大挑战。
📝 摘要(中文)
本文提出LoCoBench,一个综合性的基准测试,专门用于评估长上下文大型语言模型(LLM)在真实、复杂的软件开发场景中的性能。与现有侧重于单函数补全或短上下文任务的代码评估基准不同,LoCoBench旨在弥补长上下文能力评估的空白,这些能力需要理解整个代码库、跨多个文件进行推理,并在大型软件系统中保持架构一致性。该基准测试提供跨10种编程语言系统生成的8000个评估场景,上下文长度跨越10K到1M个token,实现了100倍的变化,从而能够精确评估在实际软件开发环境中长上下文性能的下降。LoCoBench引入了8个任务类别,涵盖了必要的长上下文能力:架构理解、跨文件重构、多会话开发、缺陷调查、功能实现、代码理解、集成测试和安全分析。通过一个五阶段的流程,我们创建了多样化、高质量的场景,挑战LLM以前所未有的规模推理复杂代码库。我们引入了一个包含17个指标(包括8个新评估指标)的综合评估框架,这些指标分布在4个维度中,并组合成一个LoCoBench Score(LCBS)。对最先进的长上下文模型的评估表明存在巨大的性能差距,表明在复杂软件开发中长上下文理解仍然是一个尚未解决的重大挑战,需要更多关注。LoCoBench已在https://github.com/SalesforceAIResearch/LoCoBench发布。
🔬 方法详解
问题定义:现有代码评估基准主要关注单函数补全或短上下文任务,无法有效评估LLM在复杂软件工程场景下的长上下文理解能力。在实际软件开发中,理解整个代码库、跨多个文件进行推理、保持架构一致性至关重要,而现有方法无法满足这些需求。
核心思路:LoCoBench的核心思路是构建一个全面、真实的软件工程基准测试,用于评估LLM在长上下文场景下的性能。通过系统性地生成多样化的评估场景,并设计相应的评估指标,可以更准确地衡量LLM在复杂软件开发任务中的能力。
技术框架:LoCoBench的构建包含一个五阶段的流程:(1) 任务定义:定义8个关键的软件工程任务类别,包括架构理解、跨文件重构等。(2) 代码库选择:选择具有代表性的开源代码库。(3) 场景生成:基于选定的代码库和任务类别,生成多样化的评估场景。(4) 数据标注:对生成的场景进行标注,提供参考答案。(5) 评估指标设计:设计17个评估指标,涵盖多个维度,并组合成LoCoBench Score (LCBS)。
关键创新:LoCoBench的关键创新在于其全面性和真实性。它不仅覆盖了多种软件工程任务,还考虑了不同编程语言和不同上下文长度的影响。此外,LoCoBench还引入了新的评估指标,更准确地衡量LLM在复杂软件开发任务中的性能。
关键设计:LoCoBench的场景生成过程采用了多种策略,包括随机采样、基于规则的生成和人工干预。评估指标包括精确率、召回率、F1值等,并根据不同任务的特点进行了调整。LCBS通过加权平均的方式将多个指标组合在一起,提供一个综合性的性能评估。
🖼️ 关键图片
📊 实验亮点
对最先进的长上下文模型进行评估,结果表明在LoCoBench上存在显著的性能差距,表明现有模型在复杂软件开发任务中的长上下文理解能力仍有待提高。具体性能数据和对比基线未在摘要中给出,需参考完整论文。
🎯 应用场景
LoCoBench可用于评估和改进LLM在软件开发领域的应用,例如自动化代码审查、智能代码补全、缺陷预测和修复等。通过提高LLM在复杂软件工程任务中的性能,可以显著提高软件开发的效率和质量,降低开发成本。
📄 摘要(原文)
The emergence of long-context language models with context windows extending to millions of tokens has created new opportunities for sophisticated code understanding and software development evaluation. We propose LoCoBench, a comprehensive benchmark specifically designed to evaluate long-context LLMs in realistic, complex software development scenarios. Unlike existing code evaluation benchmarks that focus on single-function completion or short-context tasks, LoCoBench addresses the critical evaluation gap for long-context capabilities that require understanding entire codebases, reasoning across multiple files, and maintaining architectural consistency across large-scale software systems. Our benchmark provides 8,000 evaluation scenarios systematically generated across 10 programming languages, with context lengths spanning 10K to 1M tokens, a 100x variation that enables precise assessment of long-context performance degradation in realistic software development settings. LoCoBench introduces 8 task categories that capture essential long-context capabilities: architectural understanding, cross-file refactoring, multi-session development, bug investigation, feature implementation, code comprehension, integration testing, and security analysis. Through a 5-phase pipeline, we create diverse, high-quality scenarios that challenge LLMs to reason about complex codebases at unprecedented scale. We introduce a comprehensive evaluation framework with 17 metrics across 4 dimensions, including 8 new evaluation metrics, combined in a LoCoBench Score (LCBS). Our evaluation of state-of-the-art long-context models reveals substantial performance gaps, demonstrating that long-context understanding in complex software development represents a significant unsolved challenge that demands more attention. LoCoBench is released at: https://github.com/SalesforceAIResearch/LoCoBench.