CodeARC
收藏arXiv2025-03-30 更新2025-04-03 收录
下载链接:
http://arxiv.org/abs/2503.23145v1
下载链接
链接失效反馈官方服务:
资源简介:
CodeARC是一个用于评估大型语言模型在归纳程序合成方面的推理能力的新框架。该数据集包含1114个函数,旨在解决归纳程序合成的问题,其中代理需要与隐藏的目标函数交互,通过查询新的输入、合成候选函数,并使用微分测试代理来检查合成函数的正确性。数据集针对通用编程任务,采用两种最先进的微分测试工具进行正确性评估。
CodeARC is a novel framework for evaluating the reasoning capabilities of large language models in inductive program synthesis. This dataset comprises 1,114 functions designed to address inductive program synthesis problems, where agents need to interact with hidden target functions by querying novel inputs, synthesizing candidate functions, and utilizing differential testing agents to verify the correctness of the synthesized functions. The dataset targets general-purpose programming tasks and employs two state-of-the-art differential testing tools for correctness assessment.
提供机构:
斯坦福大学,伊利诺伊大学厄巴纳-香槟分校,麻省理工学院,英特尔,Visa Research
创建时间:
2025-03-30
搜集汇总
数据集介绍

构建方式
CodeARC数据集的构建采用了创新的交互式评估协议,通过模拟真实场景如反编译和逆向工程的过程来设计。研究者从HumanEval、MBPP和APPS三个代码生成基准中精心筛选了1114个Python函数作为合成目标,覆盖了从基础到竞赛级别的编程任务。每个任务配备10个固定的输入输出示例,并通过GPT-4o生成多样化输入来确保示例的代表性。数据集采用差分测试工具PYNGUIN和MOKAV进行正确性验证,同时设计了带函数名标注和匿名化两个版本,以评估标识符语义对模型推理的影响。
特点
CodeARC作为首个面向通用编程的归纳程序合成基准,其核心特点体现在交互式评估范式中。数据集通过隐藏目标函数和差分测试预言机的动态反馈机制,要求模型主动生成测试输入并迭代修正解决方案,模拟了真实软件开发中的调试过程。任务设计突破了传统静态评估的限制,包含28.7%初始示例无法唯一确定目标函数的挑战性案例。数据多样性体现在函数复杂度(2-74行代码)和任务类型(字符串处理、算法实现等)的广泛分布,且通过5,405个合成函数构建的微调数据集进一步增强了模型的泛化能力。
使用方法
使用CodeARC进行评估时,模型首先接收初始输入输出示例,随后可通过两种交互动作探索目标函数:查询新输入获取对应输出,或提交候选程序调用差分测试预言机。预言机返回PASS/FAIL及反例的机制允许模型进行自我修正,整个过程受30次查询和2次预言机调用的预算约束。评估指标聚焦于合成正确程序的成功率,同时统计资源消耗效率。对于模型优化,可采用知识蒸馏方法,利用包含目标函数体的教师模型生成合成推理轨迹,指导学生模型学习查询生成和程序修正策略。实验表明,在LLaMA-3.1-8B-Instruct上的监督微调能带来最高31%的相对性能提升。
背景与挑战
背景概述
CodeARC是由斯坦福大学、伊利诺伊大学厄巴纳-香槟分校、麻省理工学院等机构的研究人员于2025年提出的一个创新性评估框架,专注于测试大型语言模型(LLMs)在归纳程序合成中的推理能力。该数据集包含1114个Python函数,旨在模拟真实世界的逆向工程和反编译场景,通过交互式输入生成和自校正机制,为LLMs提供了一个更为真实和具有挑战性的测试平台。CodeARC的推出填补了现有评估协议在动态反馈和通用编程语言合成能力方面的空白,显著推动了程序合成和归纳推理领域的研究进展。
当前挑战
CodeARC面临的核心挑战主要包括两个方面:在领域问题方面,归纳程序合成任务要求模型仅从输入输出示例中推断出目标函数,这一过程需要强大的归纳推理能力,而现有模型在此任务上的最高成功率仅为52.7%,表明当前技术在复杂逻辑推断和模式识别方面仍存在显著不足。在构建过程方面,数据集的创建需要解决初始输入输出示例可能无法唯一确定目标函数的问题(28.7%的案例存在这种情况),同时还需设计高效的差分测试工具来验证合成函数的正确性,并确保基准涵盖广泛的通用编程任务,避免领域特定偏差。
常用场景
经典使用场景
CodeARC数据集被广泛应用于评估大型语言模型(LLM)在归纳程序合成任务中的推理能力。通过提供一个交互式环境,该数据集允许模型通过查询隐藏的目标函数和使用差分测试预言机进行自我修正,从而模拟真实世界中的逆向工程和反编译场景。这种动态评估方式显著提升了模型在复杂逻辑推理和程序抽象能力上的表现。
解决学术问题
CodeARC解决了传统静态评估协议在归纳程序合成任务中的局限性,如输入输出示例的不足和缺乏反馈机制。通过引入交互式协议和差分测试预言机,该数据集为研究社区提供了一个更真实、更具挑战性的测试平台,推动了LLM在程序合成和归纳推理领域的研究进展。
衍生相关工作
CodeARC的推出催生了一系列相关研究,特别是在LLM驱动的程序合成和归纳推理领域。例如,基于该数据集的研究工作探索了如何通过合成轨迹微调模型(如LLaMA-3.1-8B-Instruct)来显著提升性能。此外,该数据集还启发了对差分测试工具(如PYNGUIN和MOKAV)在程序验证中的进一步应用和优化。
以上内容由遇见数据集搜集并总结生成



