遇见数据集

RaymondLi/perturbed_humaneval

收藏
Hugging Face2023-08-23 更新2024-03-04 收录
官方服务:

资源简介:

--- license: apache-2.0 --- # Dataset Card for Dataset Name ## Dataset Description - **Repository:** https://github.com/amazon-science/recode/tree/main - **Paper:** https://arxiv.org/abs/2212.10264 ### Dataset Summary The Recode benchmark proposes to apply code and natural language transformations to code-generation benchmarks to evaluate the robustness of code-generation models. This dataset contains the perturbed version of HumanEval that they released. It was automatically generated from the [HumanEval](https://huggingface.co/datasets/openai_humaneval) dataset. ### Subsets There are four transformation categories that form the subsets of this dataset: `func_name`, `nlaugmenter`, `natgen` and `format`. ### Languages The programming problems are written in Python and contains docstrings and comments in English. ## Dataset Structure ### Data Instances [More Information Needed] ### Data Fields - `task_id`: ID of the original HumanEval example - `prompt`: the perturbed prompt - `entry_point`: entry point for test - `canonical_solution`: solution for the problem in the `prompt` - `test`: contains function to test generated code for correctness - `seed`: seed of the perturbed prompt - `perturbation_name`: name of the perturbation - `partial`: partial solution to the problem. This field is only present for transformation categories that affect a partial solution: `natgen` and `format`. ### Data Splits The dataset only has a test split. ## Dataset Creation ### Curation Rationale [More Information Needed] ### Source Data #### Initial Data Collection and Normalization [More Information Needed] #### Who are the source language producers? [More Information Needed] ### Annotations #### Annotation process [More Information Needed] #### Who are the annotators? [More Information Needed] ### Personal and Sensitive Information [More Information Needed] ## Considerations for Using the Data ### Social Impact of Dataset [More Information Needed] ### Discussion of Biases [More Information Needed] ### Other Known Limitations [More Information Needed] ## Additional Information ### Dataset Curators [More Information Needed] ### Licensing Information [More Information Needed] ### Citation Information ``` @article{wang2022recode, title={ReCode: Robustness Evaluation of Code Generation Models}, author={Wang, Shiqi and Li, Zheng and Qian, Haifeng and Yang, Chenghao and Wang, Zijian and Shang, Mingyue and Kumar, Varun and Tan, Samson and Ray, Baishakhi and Bhatia, Parminder and others}, journal={arXiv preprint arXiv:2212.10264}, year={2022} } ``` ### Contributions [More Information Needed]

---许可证:Apache-2.0--- # 数据集卡片:Recode ## 数据集描述 - **代码仓库:** https://github.com/amazon-science/recode/tree/main - **相关论文:** https://arxiv.org/abs/2212.10264 ### 数据集概述 Recode基准测试旨在通过对代码生成基准测试集施加代码与自然语言变换,以评估代码生成模型的鲁棒性。本数据集包含其发布的经过扰动处理的HumanEval版本,该数据集自动源自[HumanEval](https://huggingface.co/datasets/openai_humaneval)数据集。 ### 数据集子集 本数据集包含四类变换类别作为其子集:`func_name`、`nlaugmenter`、`natgen` 与 `format`。 ### 语言说明 本数据集的编程问题采用Python编写,且包含英文的文档字符串与注释。 ## 数据集结构 ### 数据实例 [需补充更多信息] ### 数据字段 - `task_id`:原始HumanEval示例的唯一标识符 - `prompt`:经过扰动处理的提示文本 - `entry_point`:测试用例的入口点 - `canonical_solution`:对应`prompt`中问题的标准解决方案 - `test`:包含用于验证生成代码正确性的测试函数 - `seed`:生成该扰动提示文本的随机种子 - `perturbation_name`:所使用的扰动方法名称 - `partial`:该问题的部分解决方案。该字段仅在扰动类别为`natgen`与`format`时存在。 ### 数据划分 本数据集仅包含测试划分。 ## 数据集构建 ### 筛选逻辑 [需补充更多信息] ### 源数据 #### 原始数据收集与标准化 [需补充更多信息] #### 原始文本创作者 [需补充更多信息] ### 标注信息 #### 标注流程 [需补充更多信息] #### 标注人员 [需补充更多信息] ### 个人与敏感信息 [需补充更多信息] ## 数据使用注意事项 ### 数据集的社会影响 [需补充更多信息] ### 偏差分析 [需补充更多信息] ### 其他已知局限性 [需补充更多信息] ## 附加信息 ### 数据集整理者 [需补充更多信息] ### 许可证信息 [需补充更多信息] ### 引用信息 @article{wang2022recode, title={ReCode: Robustness Evaluation of Code Generation Models}, author={Wang, Shiqi and Li, Zheng and Qian, Haifeng and Yang, Chenghao and Wang, Zijian and Shang, Mingyue and Kumar, Varun and Tan, Samson and Ray, Baishakhi and Bhatia, Parminder and others}, journal={arXiv preprint arXiv:2212.10264}, year={2022} } ### 贡献情况 [需补充更多信息]

提供机构:
RaymondLi
原始信息汇总

数据集概述

数据集描述

  • 名称: Recode Benchmark
  • 目的: 评估代码生成模型的鲁棒性
  • 来源: 自动生成的扰动版本HumanEval数据集
  • 语言: Python编程语言,包含英文的docstrings和comments

数据集结构

数据字段

  • task_id: 原始HumanEval示例的ID
  • prompt: 扰动后的提示
  • entry_point: 测试入口点
  • canonical_solution: 问题的解决方案
  • test: 用于测试生成代码正确性的函数
  • seed: 扰动提示的种子
  • perturbation_name: 扰动名称
  • partial: 问题的部分解决方案(仅在natgen和format类别中存在)

数据分割

  • 分割: 仅包含测试集

数据集创建

数据集子集

  • 子集: 四个变换类别:func_name, nlaugmenter, natgen, format

数据来源

  • 原始数据: HumanEval数据集
  • 扰动生成: 自动生成

许可证

  • 许可证: Apache-2.0
搜集汇总
数据集介绍
RaymondLi/perturbed_humaneval 数据集图片
构建方式
在代码生成模型的鲁棒性评估领域,现有基准测试往往忽略了输入扰动对模型性能的影响。为此,Recode基准提出通过代码与自然语言变换对代码生成基准进行改造。RaymondLi/perturbed_humaneval数据集正是基于这一理念,从经典的HumanEval数据集自动生成而来。其构建过程涵盖四种变换类别:函数名称扰动、自然语言增强、自然语言生成以及格式变换。通过系统性地施加这些扰动,该数据集旨在模拟真实场景中代码和注释可能出现的多样化变异,从而为模型鲁棒性研究提供标准化的测试材料。
特点
该数据集的核心特点在于其多维度、结构化的扰动设计。它包含四个明确划分的子集,分别对应不同的变换策略,确保了评估的全面性。每个数据实例不仅保留了原始HumanEval的任务ID、测试函数和规范解法,还额外记录了扰动种子与扰动名称,便于复现与细粒度分析。此外,针对自然语言生成和格式变换类别的样本,数据集提供了部分解决方案字段,进一步丰富了评估维度。这种精细化的数据结构使得研究者能够深入探究模型对不同类型扰动的敏感程度。
使用方法
使用该数据集时,研究者可直接加载其测试拆分,无需额外划分。每个样本包含扰动后的提示词、入口函数名、规范解法及测试代码。通过将扰动提示词输入待评估的代码生成模型,并利用测试函数验证生成代码的正确性,即可量化模型在扰动条件下的表现。建议结合扰动名称字段进行分组分析,以识别模型在特定变换类型下的脆弱环节。该数据集兼容标准代码生成评估流程,适用于对比不同模型或同一模型在不同扰动下的鲁棒性差异。
背景与挑战
背景概述
在代码生成领域,模型在标准基准测试上的优异表现往往掩盖了其在真实场景中对输入扰动敏感性的脆弱。为系统评估这种鲁棒性,亚马逊云科技研究团队于2022年提出了ReCode基准,并基于OpenAI的HumanEval数据集构建了扰动版本RaymondLi/perturbed_humaneval。该数据集由Shiqi Wang、Zheng Li等研究者创建,核心旨在通过代码与自然语言变换手段,衡量代码生成模型在面对函数名替换、自然语言增强、语义保持改写及格式调整等扰动时的性能退化程度。这一工作填补了代码生成鲁棒性评估的空白,推动领域从单一准确率追求转向对模型泛化能力的深层考量,对后续研究产生了显著影响。
当前挑战
该数据集面临的核心挑战源于其双重目标:一方面,它需解决代码生成模型在真实部署中对输入变体缺乏鲁棒性的领域难题,例如模型可能因函数名语义变化或注释风格差异而输出错误代码,而现有基准无法捕捉此类脆弱性;另一方面,构建过程本身存在技术壁垒,包括如何设计扰动策略使之既保持问题语义不变又足以暴露模型缺陷,如何自动生成大规模扰动样本并确保其语法正确性,以及如何平衡扰动强度与评估公平性。此外,不同变换类别(如nlaugmenter与natgen)的覆盖范围与难度差异,也为统一的鲁棒性度量带来了额外复杂度。
常用场景
经典使用场景
在代码生成模型的鲁棒性评估领域,RaymondLi/perturbed_humaneval 数据集扮演着不可或缺的角色。该数据集通过对经典 HumanEval 基准进行系统性扰动,构建了涵盖函数名称变换、自然语言增强、代码格式变异等多维度的测试样本。研究者常利用此数据集来检验模型在面对输入微小扰动时的性能稳定性,从而深入探究代码生成模型在非理想条件下的泛化能力与脆弱性。
衍生相关工作
该数据集源自 ReCode 基准研究,其扰动方法论催生了多项后续工作。研究者基于此构建了更全面的鲁棒性评估框架,如扩展至多语言代码生成场景,或结合语义等价变换与语法错误注入。此外,部分工作借鉴其扰动分类体系,开发了针对代码模型的新型对抗攻击算法,以及用于提升鲁棒性的对比学习训练策略,形成了从评估到防御的完整研究链条。
数据集最近研究
最新研究方向
在代码生成模型日益成熟的背景下,模型对输入扰动的鲁棒性成为评估其实际部署能力的关键维度。RaymondLi/perturbed_humaneval数据集基于经典的HumanEval基准,通过引入函数名替换、自然语言增强、语义保留变换及格式扰动四类自动化转换,系统性地构建了代码生成任务的对抗性测试集。这一研究方向紧密关联当前大语言模型在软件工程中的落地挑战,例如模型能否在注释风格变化、变量命名随机化或代码排版异常时仍保持正确生成能力。该数据集的提出推动了从单一正确率指标向鲁棒性评估范式的演进,为构建更可靠、更安全的自动化编程助手提供了重要的评测基础,其研究意义在于揭示了代码理解任务中语义与形式之间的脆弱平衡。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务