CodeFlowBench
收藏arXiv2025-04-30 更新2025-05-02 收录
下载链接:
https://github.com/IAAR-Shanghai/CodeFlowBench
下载链接
链接失效反馈官方服务:
资源简介:
CodeFlowBench是一个包含5258个问题的数据集,这些问题是从Codeforces平台中抽取的,旨在评估大型语言模型(LLMs)在多轮、迭代代码生成方面的能力。数据集包含一系列的函数级子问题,每个子问题都配有一个单元测试,用于验证生成的代码的正确性。此外,CodeFlowBench还提出了一种新的评估框架,包括针对多轮代码复用的任务和指标,以评估模型性能。实验结果表明,在多轮模式中,模型的性能显著下降,表明当前LLMs在执行代码流任务时仍面临挑战。CodeFlowBench为多轮、迭代代码生成提供了一个全面的基准,并为LLMs的能力提供了新的见解,为未来的代码生成任务指明了方向。
CodeFlowBench is a dataset consisting of 5258 problems sampled from the Codeforces platform, designed to evaluate the capabilities of Large Language Models (LLMs) in multi-turn and iterative code generation. The dataset includes a series of function-level subproblems, each paired with a unit test to verify the correctness of the generated code. Additionally, CodeFlowBench presents a novel evaluation framework that incorporates tasks and metrics targeting multi-turn code reuse for model performance assessment. Experimental results demonstrate that the model's performance decreases significantly in multi-turn scenarios, indicating that current LLMs still face challenges when performing code flow tasks. CodeFlowBench serves as a comprehensive benchmark for multi-turn and iterative code generation, provides novel insights into the capabilities of LLMs, and points out promising directions for future code generation research.
提供机构:
北京大学数据科学中心, 上海财经大学, 上海高级算法研究所
创建时间:
2025-04-30
搜集汇总
数据集介绍

构建方式
CodeFlowBench的构建依托于一个高度自动化的数据整理流水线,该流水线从Codeforces平台采集复杂编程问题,并通过抽象语法树分析将每个问题分解为基于函数依赖关系的多轮子问题。流水线首先爬取问题描述和官方题解,随后利用Deepseek-R1模型生成可解析的解决方案代码,经Codeforces提交验证后,进一步通过AST解析提取函数依赖结构,最终形成包含子问题描述、深度标签及单元测试的标准化多轮编码任务。这一流程确保了数据集的实时更新能力和问题结构的复杂性。
特点
该数据集的核心特点在于其多轮迭代的代码流评估框架,包含5,258个源自竞技编程的高难度问题,每个问题被分解为函数级子任务并配备依赖树和单元测试。不同于传统单轮代码生成基准,CodeFlowBench通过模拟真实开发中的模块化实现与代码复用场景,要求模型在理解既有代码的基础上进行迭代开发。数据集的独特价值体现在其结构性复杂度指标(如整体轮次和依赖深度)与Codeforces官方难度评分的强相关性,为评估大语言模型的代码组织能力提供了细粒度标准。
使用方法
使用CodeFlowBench时,研究者可采用多轮或单轮两种评估模式。多轮模式下,模型需按拓扑顺序依次实现各子问题函数,每次调用时可参考前置函数实现和整体问题背景;单轮模式则要求一次性生成完整解决方案。评估采用pass@k指标衡量最终通过率,并创新性地引入通过深度(PD)指标量化模型在依赖树不同层级的表现。测试时需将模型输出与单元测试用例进行验证,对于子问题需特别检查其与既有代码的集成兼容性,包括全局变量处理和接口调用规范性。
背景与挑战
背景概述
CodeFlowBench是由北京大学数据科学中心、上海财经大学及上海高级算法研究院的研究团队于2025年共同推出的代码生成基准测试数据集。该数据集聚焦于评估大语言模型(LLMs)在复杂代码生成任务中的多轮迭代能力,填补了现有基准在模拟真实开发流程(如代码复用、模块化构建)方面的空白。数据集包含5,258个源自Codeforces竞赛平台的高难度编程问题,通过自动化流水线将每个问题分解为基于依赖树的函数级子任务,并配备单元测试。其创新性体现在首次系统化定义了"代码流"(codeflow)概念——开发者通过多轮迭代复用既有函数实现新功能的开发范式,为代码生成领域提供了更贴近工程实践的评估标准。
当前挑战
CodeFlowBench面临的核心挑战体现在两个维度:领域问题层面,现有模型在解决依赖结构复杂的多轮代码生成任务时表现显著下滑(如最佳模型o1-mini在多轮模式下的pass@1仅为20.8%,较单轮模式下降17%),暴露出模型在全局上下文理解、函数泛化性及依赖关系处理等关键能力的不足;构建过程层面,数据集的自动化流水线需攻克竞赛问题依赖树解析、跨函数测试用例生成、动态更新防污染等技术难点,特别是如何从非结构化编辑报告中准确提取函数级解决方案并保持AST拓扑排序的合理性,这对代码语义分析和程序合成技术提出了极高要求。
常用场景
经典使用场景
CodeFlowBench作为首个专注于多轮迭代代码生成的基准测试工具,其核心应用场景在于评估大型语言模型(LLM)在复杂依赖结构下的代码生成能力。该数据集通过从Codeforces平台提取的5,258个竞赛级编程问题,模拟了真实开发中模块化分解与函数复用的工作流程。典型使用方式要求模型根据依赖树逐步实现底层函数,并在后续轮次中复用已有代码构建高阶功能,从而系统性检验模型处理多轮交互、理解代码依赖关系的综合能力。
衍生相关工作
该数据集已催生多项重要研究:Deepseek团队基于其提出的APD指标开发了强化学习框架Deepseek-R1;QwQ-32B模型通过引入依赖感知机制将DSC≤1.33问题的通过率提升17.3%;后续工作如BigCodeBench进一步扩展了仓库级代码流评估。这些衍生研究共同推动了多轮代码生成领域从函数级到系统级的评估体系演进。
数据集最近研究
最新研究方向
近年来,CodeFlowBench作为首个专注于多轮迭代代码生成的基准测试数据集,在代码生成领域引起了广泛关注。该数据集从Codeforces平台精选了5,258个具有挑战性的编程问题,通过自动化流水线将每个问题分解为基于依赖树的函数级子问题,为评估大语言模型(LLMs)在复杂代码流场景下的表现提供了全新视角。研究热点集中在模型对代码复用和依赖关系的理解能力上,实验表明即使是当前最先进的模型如GPT-4和DeepSeek-V3,在多轮模式下的通过率也显著低于单轮模式(如o1-mini模型的多轮通过率20.8%对比单轮37.8%),揭示了现有模型在生成可复用、模块化代码方面的重大缺陷。该数据集通过创新的评估框架和Pass Depth(PD)指标,为改进LLMs在真实开发环境中的实用性提供了重要基准,推动了代码生成技术向支持实际软件开发流程的方向发展。
相关研究论文
- 1CodeFlowBench: A Multi-turn, Iterative Benchmark for Complex Code Generation北京大学数据科学中心, 上海财经大学, 上海高级算法研究所 · 2025年
以上内容由遇见数据集搜集并总结生成



