PROBE
收藏资源简介:
PROBE是一个由北卡罗来纳大学夏洛特分校和科英布拉大学联合创建的系统化基准测试框架,专为评估大语言模型在文本到代码生成任务中的性能而设计。该框架基于IBM CodeNet数据集构建,涵盖Python、C++、Java、C和Rust五种编程语言,包含多样化难度级别的问题描述、参考解决方案和单元测试,旨在通过功能正确性、解决方案接近度和代码质量三个维度进行全面评估。其创建过程整合了真实世界编程问题、标准化提示模板和可扩展的实验流程,应用于软件工程领域,旨在解决现有基准测试在语言覆盖、评估维度和可复现性方面的局限,为模型性能提供更透明、公平的比较基础。
PROBE is a systematic benchmarking framework co-developed by the University of North Carolina at Charlotte and the University of Coimbra, specifically designed to evaluate the performance of Large Language Models (LLMs) in text-to-code generation tasks. Built upon the IBM CodeNet dataset, this framework encompasses five programming languages: Python, C++, Java, C, and Rust, and features problem descriptions, reference solutions, and unit tests spanning a wide range of difficulty levels. It aims to conduct comprehensive evaluations across three core dimensions: functional correctness, solution proximity, and code quality. Its development process integrates real-world programming problems, standardized prompt templates, and a scalable experimental workflow, targeting the software engineering domain. It aims to address the limitations of existing benchmarks in terms of language coverage, evaluation dimensions, and reproducibility, providing a more transparent and fair comparative foundation for assessing model performance.
PROBE 数据集概述
基本信息
- 许可证: CC-BY-SA-4.0
- 语言: 英语
- 标签: 代码
- 数据集大小: 1,000–10,000 条数据
数据结构
数据集以单个 JSONL 文件 (dataset.jsonl) 提供,每行对应一个编程问题,包含以下字段:
- problem_id: 问题的唯一标识符
- difficulty_level: 任务难度,取值范围 0(最易)到 3(最难),基于 Python 参考解的圈复杂度、LLOC 和 Halstead 工作量估算
- prompt: 编程任务的自然语言描述
- unit_tests: 单元测试列表,每个测试包含:
- number: 测试编号
- input: 输入
- output: 预期输出
- references: 参考解决方案列表,每个方案包含:
- language: 编程语言(Python, C++, Java, C, Rust)
- id: 参考解标识符
- code: 正确实现的源代码
数据统计
- 问题总数: 1,651
- 每个问题的参考解数量:
- Python, C++: 3–250
- Java, C: 0–250
- Rust: 0–180
- 每个问题的单元测试数量: 6–131
数据来源
基于 Project CodeNet 数据集,包含来自 Aizu 和 AtCoder 两个在线评测平台的问题。
-
提示词 (Prompts): 从包含问题描述的 HTML 文件中提取,结构化为如下格式:
Problem Description: Input Format: Output Format: Constraints:
-
参考解决方案: 仅保留正确解,每个问题最多随机选择 250 个参考解
-
单元测试: 大部分直接来自在线评测平台,部分通过可用参考解生成以增加覆盖率
生成代码
generated_code.zip 包含由以下六个模型生成的解决方案:
- GPT-4.1-mini
- Gemini-2.0-Flash
- Deepseek-Coder-v2 (16b)
- Qwen2.5-Coder (14b)
- Qwen2.5-Coder (7/14b)
每个模型为每个问题生成五个独立解,涵盖五种编程语言(Python, C++, Java, C, Rust)。当解决方案错误时,模型最多接受两轮反馈并重新生成:
solution.{termination}: 初始生成解(无反馈)solution_0/1.{termination}: 第一/二次反馈后生成的解
预期用途
该数据集适用于文本到代码生成任务中大型语言模型的研究与评估。
支持的功能:
- 功能正确性评估: 通过大规模单元测试进行
- 相似性分析: 与人工编写实现的语法、语义或结构相似度比较
- 代码质量评估: 比较不同模型,以及评估生成代码与高质量人工参考实现的差距




