CoreCodeBench- Decoupling Code Intelligence via Fine-Grained Repository-Level Tasks

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. CoreCodeBench: Decoupling Code Intelligence via Fine-Grained Repository-Level Tasks Hao Guan 计算与智能平台部-M17-EVA
2. 研究背景 • 代码评测的演进: • 函数级 → 仓库级 • HumanEval、MBPP → SWE-bench • 核心局限: • 现有基准依赖粗粒度的通过率,将编程视 为单一整体能力,无法诊断模型究竟在哪 里失败。 • 数据污染:解法已被预训练记忆 • 性能饱和:难度固定、丧失区分度 我们需要:自动化、可扩展、动态难度的多维度评测
3. 核心贡献 • 掩码核心代码块• 级联式逻辑实现合成• 掩码代码,仅给单元测试 • 提供功能描述• 大模型设计错误逻辑• 严格按照测试规约实现 • 根据意图生成实现• 笑模型完成有缺陷的实现• 通过测试即视为正确 三类任务共享完全相同的代码上下文,从而显式解耦代码能力的认知维度
4. 核心贡献
5. CorePipe设计 • 自动从开源仓库中获取函数 • 对开源仓库进行了初步的筛选 • 活跃性、测试覆盖率、复杂性 • 获取函数调用链 • 建立源码实现与单元测试之间的精确映射
6. CorePipe设计:Atomic 原子任务 • 将单个功能逻辑隔离到不同的工程场景中生成原子级 任务 • 利用抽象语法树(AST)模块剔除无关的辅助函数 • 调整这些模块的掩码长度,动态调节任务的难度 • 只有当掩码处理触发测试失败,相关函数才被保留 • 人工检查证实了该方法在捕捉关键逻辑方面100% 准确
7. CorePipe设计:Development • 评估模型开发能力 • 对识别出的核心代码块进行遮蔽,并使用 LLM 生成 结构化的功能描述。 • 为确保质量,我们引入额外的模型作为批评模型,提 供反馈。 • 应用信息增益(IG)过滤器,剔除无增益样本。 • 消融研究证实了在四种不同的生成器架构下,模型排名 保持一致(Spearman’s ρ = 1.0)。
8. CorePipe设计:BugFix • 为了评估诊断和纠正逻辑错误的能力,我们通过用有 缺陷的版本替换正确实现来扩展开发任务 • 先引导先进模型设计复杂的逻辑漏洞 • 然后利用较小的模型来实现这些缺陷设计。 • 这种两阶段方法充分利用了大模型的推理深度以确保 逻辑复杂性,同时借助小模型的随机性引入自然的实 现噪声。
9. CorePipe设计:TDD • 评估在严格遵循验证约束条件下实现逻辑的能力 • 直接使用先前识别出的核心代码块,在隐藏实现的同 时,提供相应的单元测试作为规范。模型必须将生成 的代码与严格的预定义测试相匹配,以确保可靠性。
10. CorePipe设计:Composite 组合任务 • 引入复合任务,要求模型对函数调用树中的子图进行推理而非 仅针对孤立的节点。每个复合任务是一个包含 n 个原子问题的 对应测试函数的调用树的子图。 • 引入空函数节点表示必须同步实现的辅助工具。 • 通过两个超参数明确控制复合任务的复杂度,以缓解性能饱和 问题,确保基准测试对快速演进的模型始终保持挑战性。 • 依赖深度 d,用于调节上下文范围,限制调用链的最大深度; • 任务数量 ν,定义需要同时修改的函数总数(2 ≤ n ≤ ν)。
11. 数据集概览
12. 实验结果 原子任务评测结果 复合任务评测结果
13. 实验结果 相关系数矩阵 IoU分布 代码长度对通过率的影响
14. 主要贡献 1. 细粒度评测代码能力:将编程能力解耦为多种独立的认知维度(Dev / BugFix / TDD) 2. 自动化 CorePipe 框架:78.55% 有效率,抗污染、难度可动态扩展 3. 能力错位的发现:编程能力并非单一整体,模型缺少工程级规划能力 对未来的启发 1. 模型能力评测应该从“大一统评分”转向能力画像 2. 评测要自动化动态生成以避免污染的情况,评测生成的过程中要保证评测的质量 3. Agent训练应该分能力训练
15. Q&A

ホーム - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-06-20 10:40
浙ICP备14020137号-1 $お客様$