本文是一篇发表于ACM Transactions on Software Engineering and Methodology期刊的学术综述论文,题为“Surveying the Benchmarking Landscape of Large Language Models in Code Intelligence”。作者团队来自加拿大约克大学,成员包括Mohammad Abdollahi, Ruixin Zhang, Nima Shiri Harzevili, Jiho Shin, Song Wang, 以及 Hadi Hemmati。该研究旨在对2020年1月至2025年6月期间发表的、用于评估大型语言模型在代码智能领域性能的基准数据集进行全面、系统的调查。
随着以GPT-2和GPT-3为代表的早期大型语言模型的发布,其在代码智能领域的应用迅速扩展,自动化了代码生成、程序修复、调试、软件测试等一系列任务。然而,LLM在这些任务上的能力评估缺乏标准化和系统性。现有基准在任务覆盖、数据质量、构建方法、评估标准以及与真实世界场景的契合度上差异显著。这种不统一使得难以对模型性能得出普适性结论,也引发了对当前评估实践可靠性和代表性的质疑。因此,本文旨在通过系统性地审查和分析现有基准数据集,描绘其发展现状,评估其优势与局限,并为未来更稳健、更具代表性的基准创建提供指导,以推动代码智能领域LLM评估的进步。
本文的核心内容围绕五个研究问题展开,对142篇相关论文中涉及的156个独特基准和32种不同编码任务进行了深入分析。
RQ1:基准数据集的当前格局是怎样的? 分析表明,自2023年起,相关基准数据集的研究和发布呈现显著上升趋势,2024年及2025年上半年达到高峰,反映出该领域日益增长的研究热度。从任务分布来看,代码生成是绝对主导的任务,占据了所有任务的约52.8%,其次是代码翻译、代码补全和测试用例生成。基准的复杂性也在演变:早期基准多关注单一函数级别的孤立任务,而近期趋势则转向更复杂、更贴近现实的类级别、多文件乃至仓库级别的上下文评估,以及需要多轮交互的智能体式评估。在应用领域上,通用算法任务占主导(50%),其次是复合及小众领域、数据科学、Web开发和安全领域。编程语言方面,Python是最主流的语言,出现在77%的数据集中,其次是Java和C++。同时,多语言基准正在增加,以评估模型的跨语言能力。数据集规模差异巨大,从14个样本到1.89亿个样本不等,呈长尾分布。在评估模型方面,OpenAI的GPT系列模型(尤其是GPT-3.5和GPT-4)是使用最广泛的基线模型,其次是Meta的Llama家族和各类代码专用LLM。论文发表阵地主要集中在顶级机器学习会议(如NeurIPS, ICLR, ICML)和预印本平台arXiv,软件工程顶级会议(如ICSE, ASE)相对较少。此外,基准的社区影响力呈现“幂律分布”,少数早期、基础性的基准(如HumanEval, MBPP)被广泛引用,而大量新兴的、特定领域的基准则处于引用长尾。
RQ2:基准数据集的特征和质量如何? 基准数据集的构建来源多样,主要可分为四类:开源仓库与GitHub(占46%),这是最主要的数据源,能提供真实世界的复杂项目环境;人工精心构建(占26%),以确保任务的清晰度和评估环境的可控性;在线编程平台(如LeetCode, Codeforces,占24.6%),提供结构化的编程问题;以及对现有基准的扩展或改编(占22.5%),以创建更全面或特定领域的评估集。数据质量控制和真实性是重要考量。研究分析了数据集的结构、组织方式(数据格式、标注方案、元数据)以及构建过程中的质量控制机制(如人工验证、过滤、自动化检查)。研究还评估了这些基准在相关性、真实性和任务代表性方面反映现实世界场景的程度。一个关键趋势是,越来越多基于GitHub等真实仓库的基准被创建,旨在模拟实际的软件开发工作流,这标志着评估重点从孤立算法任务向实践应用场景的转变。
RQ3:评估指标和技术是怎样的? 本文探讨了用于衡量LLM在编码基准上性能的常用评估标准。分析涵盖了所使用的指标类型,例如准确率、BLEU分数、代码执行成功率或功能正确性,并考察这些指标是否与特定任务目标(如代码生成、缺陷修复或测试生成)保持一致。研究发现,评估指标和协议存在显著差异。功能正确性(通过单元测试验证)是代码生成和修复任务的主流指标,但不同基准在测试的严格性、覆盖率和执行环境上有所不同。对于理解或翻译任务,则可能采用基于匹配(如BLEU, ROUGE)或基于检索的指标。研究进一步调查了跨数据集是否存在标准化的评估协议或方法论,以及它们应用的一致性,从而突出了当前基准实践中的差距或不一致之处。缺乏统一的评估框架是跨基准比较和模型能力泛化评估的主要障碍。
RQ4:现有基准面临哪些挑战与局限? 为了深入探究现有基准的局限性,研究者选取了14个具有代表性的基准数据集,并系统分析了引用和使用这些基准的文献中报告的问题。通过综合这些经验研究中的反馈,识别出几类普遍存在的挑战:数据集偏差:许多基准在编程语言(过度偏向Python)、任务类型(过度集中于代码生成)、问题复杂度(多为简单、独立函数)和源代码(集中于热门GitHub项目)上存在偏差,限制了其代表性和泛化能力。缺乏标准化评估协议:如前所述,评估指标、通过标准(如测试通过率阈值)、执行环境和计算资源的不统一,导致结果难以直接比较和复现。对现实世界挑战覆盖不足:许多基准未能充分体现真实软件开发中的复杂性,例如处理大型代码库、理解模糊的需求、进行多轮交互调试、整合外部工具和API,以及处理安全和合规性约束。数据污染问题:由于LLM在包含基准测试数据的语料库上进行训练,可能导致评估分数虚高,无法反映模型在未见问题上的真实能力。尽管已有研究关注此问题并提出了缓解策略(如使用训练截止日期后的数据),但它仍然是一个普遍存在的有效性威胁。
RQ5:未来的方向与改进建议是什么? 基于对现有局限性的分析,本文为下一代LLM基准的创建提出了愿景和建议。主要方向包括:创建更稳健、适应性更强的基准:鼓励开发能够随着LLM能力进化而保持挑战性的动态基准,以及能够评估模型在多样化、复杂场景下表现的基准。提升与真实代码智能需求的契合度:基准应更好地模拟实际开发环境,例如纳入多模态上下文(代码、文档、问题追踪)、支持交互式任务(允许模型与环境交互并接收反馈)、以及评估智能体在完整软件工程工作流中的表现。确保可靠性和实用性:需要建立标准化的评估协议、严格的防数据污染措施,并提高数据集的透明度(如详细的构建文档、元数据)。覆盖更广泛的领域和语言:未来基准应更多地涵盖安全关键系统、嵌入式软件、低资源编程语言等 underrepresented 领域,以全面评估LLM的能力。促进社区协作与资源共享:鼓励建立开放的基准平台,便于数据集共享、评估结果比较和最佳实践交流。
本文的贡献在于:对2020年至2025年间用于评估代码智能LLM的156个基准数据集进行了首次大规模系统性综述;提供了关于其特征、结构、评估指标和任务覆盖率的详细分类与比较分析;评估了现有基准的质量控制实践和现实世界相关性;基于文献分析,识别了当前基准实践中的关键局限性;为下一代基准的设计提出了一套可操作的建议,以更好地反映LLM的进化能力和开发者的实际需求;同时,作者公开了所调查的论文列表和分析脚本,以促进研究的可复现性。
这篇综述对于研究者和实践者都具有重要价值。它为研究者提供了当前基准格局的结构化理解,揭示了现有评估中的差距和不一致性,并为设计、选择和应用基准数据集来评估LLM能力提供了实用指导。对于实践者而言,它有助于理解不同基准的侧重点和局限性,从而在工具开发和模型选型中做出更明智的决策。这项工作为代码智能研究社区推动更具意义、可复现和代表性的LLM评估奠定了坚实基础。