遇见数据集

CodeScope

收藏
arXiv2024-02-06 更新2024-07-30 收录
官方服务:

资源简介:

CodeScope是一个基于执行的、多语言、多任务、多维度的评估基准,用于全面衡量大型语言模型在编码任务上的能力。它覆盖了43种编程语言和8种编码任务,从难度、效率和长度三个维度评估编码性能。

CodeScope is an execution-based, multi-lingual, multi-task, and multi-dimensional evaluation benchmark designed to comprehensively assess the coding capabilities of large language models (LLMs). It covers 43 programming languages and 8 coding tasks, and evaluates coding performance across three dimensions: difficulty, efficiency, and length.

创建时间:
2023-11-15
原始信息汇总

CodeScope 数据集概述

CodeScope 是一个基于执行的、多语言、多任务、多维度的评估基准,用于全面评估大型语言模型(LLMs)在编码任务上的能力。该基准涵盖了 43种编程语言8种编码任务,从 难度效率长度 三个维度评估LLMs的编码性能。

数据集更新

  • [2024.05.15] CodeScope 被接受为 ACL 2024 主会议 论文,感谢学术界的认可。
  • [2023.11.15] CodeScope 发布。

数据集访问

编码任务

CodeScope 评估 LLMs 在 代码理解代码生成 方面的综合能力,具体包括以下 8种编码任务

代码理解

  1. 代码摘要(Code Summarization)
  2. 代码异味(Code Smell)
  3. 代码审查(Code Review)
  4. 自动化测试(Automated Testing)

代码生成

  1. 程序合成(Program Synthesis)
  2. 代码翻译(Code Translation)
  3. 代码修复(Code Repair)
  4. 代码优化(Code Optimization)

引用

如果您使用 CodeScope 的数据或代码,请引用以下论文:

@misc{yan2023codescope, title={CodeScope: An Execution-based Multilingual Multitask Multidimensional Benchmark for Evaluating LLMs on Code Understanding and Generation}, author={Weixiang Yan and Haitian Liu and Yunkun Wang and Yunzhe Li and Qian Chen and Wen Wang and Tingyu Lin and Weishan Zhao and Li Zhu and Shuiguang Deng and Hari Sundaram}, year={2023}, eprint={2311.08588}, archivePrefix={arXiv}, primaryClass={cs.CL} }

搜集汇总
数据集介绍
CodeScope 数据集图片
构建方式
在代码智能领域,现有基准测试多局限于少数主流编程语言与单一任务,且依赖基于匹配的评估指标,难以反映代码的实际可执行性。为弥补这一鸿沟,CodeScope应运而生,它是一个基于执行的多语言、多任务、多维度的评估基准。其构建过程涵盖43种编程语言与八项编码任务,数据来源包括Rosetta Code网站(代码摘要)、Codeforces平台(程序合成、代码翻译、代码修复与优化)以及公开的代码味道与代码审查数据集。为支撑基于执行的评估,研究团队开发了MultiCodeEngine,一个支持14种编程语言的自动化代码执行引擎,确保生成代码的功能正确性得以客观衡量。
特点
CodeScope的核心特点在于其前所未有的广度与深度。首先,它覆盖了迄今为止最广泛的编程语言种类(43种),并整合了代码理解(摘要、味道检测、审查、测试生成)与代码生成(合成、翻译、修复、优化)两大范畴的八项任务,实现了对大型语言模型编码能力的全景式评估。其次,它从长度、难度与效率三个维度进行细粒度分析,不仅考察模型处理不同长度代码的稳定性,还衡量其在复杂编程问题上的解题能力以及生成代码的执行效率。此外,所有生成任务均采用执行通过率(如Pass@k、DSR@k)作为核心指标,摒弃了传统仅依赖文本相似度的评价方式,使评估结果更贴近实际应用场景。
使用方法
使用CodeScope评估模型时,研究者需根据任务类型调用相应的数据集与评估流程。对于代码理解任务(如摘要、味道检测),模型需基于输入代码输出自然语言描述或分类标签,并通过BLEU、ROUGE、BERTScore或分类准确率等指标进行评价。对于代码生成任务(如程序合成、翻译、修复、优化),模型需生成可在MultiCodeEngine中执行的代码,并通过执行测试用例来判定其正确性与效率。所有任务均支持批量评估,并提供了八种主流大语言模型(如GPT-4、GPT-3.5、Code LLaMA等)的基线结果,便于研究者进行横向对比与深入分析。
背景与挑战
背景概述
CodeScope数据集由来自加州大学圣塔芭芭拉分校、西安交通大学、浙江大学、伊利诺伊大学厄巴纳-香槟分校、阿里巴巴集团等多个顶尖机构的研究人员于2023年联合创建。该数据集旨在弥合现有代码评估基准在编程语言覆盖范围、任务多样性以及执行验证方面的显著不足。核心研究问题聚焦于如何全面、多维地评估大型语言模型在代码理解与生成任务上的真实能力。CodeScope通过覆盖43种编程语言、八项编码任务以及从长度、难度和效率三个维度进行细粒度评估,为领域内提供了一套迄今为止最为全面和具有挑战性的基准框架,对推动代码智能评估的标准化与实用性研究产生了深远影响。
当前挑战
CodeScope所解决的领域问题核心在于现有基准多局限于少数主流语言和单一任务,且依赖基于匹配的评估指标,无法反映代码的实际可执行性与功能性。构建过程中面临的关键挑战包括:如何设计并整合覆盖43种语言的八项不同任务,确保评估的广度与深度;如何开发支持14种编程语言的多语言代码执行引擎MultiCodeEngine,以实现基于执行的可靠评估;以及如何从长度、难度和效率三个维度构建细粒度评估体系,以揭示模型在不同编程范式与问题复杂度下的真实表现与局限性。
常用场景
经典使用场景
在代码智能研究领域,CodeScope被广泛用作评估大型语言模型(LLM)在代码理解与生成任务上综合能力的基准。其经典使用场景包括对模型进行多语言、多任务、多维度的细粒度评测,覆盖从代码摘要、代码异味检测到程序合成、代码翻译、代码修复及代码优化等八项核心任务。研究者通过CodeScope能够系统性地比较不同LLM在43种编程语言上的表现,尤其关注其在执行正确性、代码长度适应性、问题难度应对以及生成效率等方面的差异,从而全面刻画模型的编程能力图谱。
解决学术问题
CodeScope解决了现有代码评测基准存在的三大核心学术问题:一是多数基准仅聚焦于少数流行语言和单一任务,缺乏多语言多任务的评测广度;二是传统评测依赖BLEU等基于匹配的指标,无法反映代码的实际可执行性与功能正确性;三是缺乏对代码长度、问题难度和生成效率的多维考量。通过引入基于执行的评测引擎MultiCodeEngine,CodeScope实现了对生成代码真实运行结果的验证,显著提升了评测的可靠性与实用性,为LLM在代码智能领域的研究提供了更科学、更全面的评估框架。
衍生相关工作
CodeScope的发布催生了一系列相关研究工作。一方面,其多语言多任务的设计理念被后续基准如MultiPL-E和ClassEval所借鉴,推动了代码评测向更复杂场景的拓展。另一方面,CodeScope中提出的执行式评测方法(如Pass@k、DSR@k和Opt@k)成为评估代码生成模型的新标准,被广泛应用于CodeT5+、WizardCoder和Code LLaMA等模型的性能对比研究中。此外,其构建的Codeforces4LLM数据集也为程序合成、代码翻译和代码修复等任务提供了高质量的基准资源,促进了代码智能领域的持续创新。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务