semeru/code-code-MethodGeneration
收藏Hugging Face2023-03-27 更新2024-03-04 收录
下载链接:
https://hf-mirror.com/datasets/semeru/code-code-MethodGeneration
下载链接
链接失效反馈官方服务:
资源简介:
该数据集是从CodeXGLUE导入的,并使用了他们的脚本进行预处理。数据集用于方法生成任务,即根据方法的签名、文档字符串和更多上下文预测方法体的实现。数据集来源于CodeSearchNet Python数据集,重新下载了所有方法,包括它们的签名、文档字符串和体。移除了没有文档字符串或名称包含test的方法。保留了方法周围的上下文信息,因为仅基于签名/文档字符串生成方法体是一个困难的任务。还应用了字面量归一化以提升用户体验。数据格式为每行一个JSON对象,包含签名、体、文档字符串和ID。数据统计信息显示训练集有893,538个实例,开发集和测试集各有20,000个实例。
This dataset is imported from CodeXGLUE and preprocessed using their official scripts. It is developed for the method generation task, where the goal is to predict the implementation of method bodies based on method signatures, docstrings and additional contextual information. Derived from the CodeSearchNet Python dataset, all relevant methods including their signatures, docstrings and bodies were re-downloaded. Methods without docstrings or those with 'test' in their names were excluded. We retained the contextual information surrounding each method, as generating method bodies solely based on signatures or docstrings poses a challenging task. Literal normalization was also applied to improve the overall user experience. The dataset is stored in a line-by-line JSON format, with each line being a JSON object containing the signature, body, docstring and ID. Statistical results show that the training set contains 893,538 instances, while the development and test sets each have 20,000 instances.
提供机构:
semeru原始信息汇总
数据集概述
数据集来源与处理
- 数据集从CodeXGLUE导入,并使用其脚本进行预处理。
数据集位置
- 在Semeru中,数据集位于
/nfs/semeru/semeru_datasets/code_xglue/code-to-code/Method-Generation/dataset/codexglue_method_generation。
任务定义
- 方法生成任务定义为根据方法签名、文档字符串及其他上下文条件预测方法体实现。
数据集构成
- 使用CodeSearchNet Python数据集,重新下载存储库以提取所有方法,包括签名、文档字符串和方法体。
- 移除了没有文档字符串或名称中包含“test”的方法。
- 保留了方法周围的上下文信息,并应用了字面量规范化处理。
数据格式
-
数据集包含
train/dev/test.jsonl文件,每行数据格式如下: json { "signature": "...", "body": "...", "docstring": "...", "id": "..." } -
id指示了该方法在原始数据中的位置。
数据统计
| 数据分割 | #实例数 |
|---|---|
| 训练 | 893,538 |
| 开发 | 20,000 |
| 测试 | 20,000 |
引用文献
- 参考文献:Clement et al., 2021
搜集汇总
数据集介绍

构建方式
在代码智能研究领域,方法生成任务旨在根据方法签名、文档字符串及上下文信息自动生成方法体实现。该数据集源自CodeSearchNet Python语料库,通过重新下载原始仓库并提取所有方法,保留其签名、文档字符串与主体内容。构建过程中,剔除了不含文档字符串的方法以及名称包含'test'的实例,同时保留方法周围的上下文信息以增强生成能力。为提升数据质量,对字面量进行了标准化处理,并将换行符替换为<EOL>标记,同时追踪缩进层次以保持结构完整性。最终形成包含逾89万训练样本、2万验证样本和2万测试样本的高质量数据集。
使用方法
使用者可通过HuggingFace数据集加载工具直接获取该资源,其数据以JSON Lines格式存储于train.jsonl、dev.jsonl和test.jsonl文件中。每条数据包含'signature'(方法签名)、'body'(方法体,含特殊标记)、'docstring'(文档字符串)和'id'(唯一标识)四个字段。在应用时,建议对签名和文档字符串进行分词处理,并将主体中的特殊标记还原为原始代码格式,或直接利用标记化的序列进行序列到序列模型的训练。此外,该数据集已预处理好,可直接用于基于Transformer架构的代码生成模型,无需额外清洗步骤。
背景与挑战
背景概述
代码生成是软件工程与自然语言处理交叉领域的重要研究方向,旨在通过自动化手段提升开发效率。semeru/code-code-MethodGeneration数据集源自CodeXGLUE基准,构建于2020年6月发布的CodeSearchNet Python语料库之上,由微软研究院等机构的研究人员主导。其核心研究问题聚焦于方法体生成——即根据给定的函数签名、文档字符串及上下文信息,预测完整的方法实现。该数据集通过重新下载CodeSearchNet仓库,提取所有方法并过滤掉无文档字符串或名称含‘test’的样本,同时保留上下文以增强生成难度。数据集包含超过93万训练样本及各2万验证与测试样本,采用字面量标准化和特殊标记(如<EOL>、<INDENT>)处理代码结构,显著推动了代码生成任务的发展,并为后续长程建模研究(如eWASH模型)提供了基础支撑。
当前挑战
该数据集面临的挑战涵盖领域问题与构建过程两方面。在领域问题层面,方法生成需应对代码语义的复杂性与上下文依赖性,仅凭签名和文档字符串难以精准还原方法体逻辑,尤其当涉及长程依赖或嵌套结构时,模型易产生语法错误或功能偏差。构建过程中的挑战包括:原始数据污染风险较高(如README标注‘Very Likely Contaminated’),可能引入噪声;代码字面量标准化虽提升泛化性,却可能丢失关键语义信息;过滤策略(如移除测试相关方法)虽保证纯净度,但减少了多样性;此外,方法体与上下文的边界划分依赖语法解析器(TreeSitter),对非标准代码或动态类型语言的适应性有限,导致数据质量不均。
常用场景
经典使用场景
在软件工程与自然语言处理交叉领域,方法生成任务旨在根据给定的函数签名、文档字符串及上下文信息自动生成方法体实现。semeru/code-code-MethodGeneration数据集作为CodeXGLUE基准的核心组成部分,基于CodeSearchNet Python语料库构建,通过重新下载仓库、提取所有方法并过滤无文档字符串或含'test'名称的实例,保留了签名、文档字符串、方法体及周围上下文。该数据集最经典的用法是训练和评估序列到序列模型,利用编码器-解码器架构从签名与文档字符串中捕获语义特征,进而生成结构合理、逻辑完整的方法体,为代码智能中的代码补全与自动编程奠定基础。
解决学术问题
该数据集直面学术研究中方法级代码生成的重大挑战:传统方法仅依赖签名或文档字符串的稀疏信息,难以生成复杂的函数体。通过提供大规模、高质量的方法三元组(签名、文档字符串、体)及上下文,它解决了上下文缺失导致的生成不准确问题,并引入字面量归一化与缩进标记(如<EOL>、<INDENT>)以增强结构感知。这一设计推动了从浅层代码检索向深层代码生成的转变,显著提升了模型对代码语法层次和逻辑依赖的建模能力,其意义在于为代码智能领域提供了可复现、标准化的评估基准,促进了生成模型在软件自动化中的理论突破。
实际应用
在实际应用中,该数据集驱动的模型可深度嵌入现代集成开发环境(IDE)与代码编辑器,实现智能代码补全与自动方法生成。例如,当开发者编写函数签名和文档字符串时,系统能实时预测并补全方法体,减少重复编码劳动。此外,它支持自动代码重构与文档生成,在大型代码库维护中辅助开发者快速理解或扩展功能模块。这些应用显著提升了开发效率与代码质量,尤其在开源协作和持续集成场景下,降低了手动编写样板代码的出错率,使开发者能更专注于高层逻辑设计。
数据集最近研究
最新研究方向
基于代码上下文与语义理解的方法体自动生成研究,聚焦于利用大型代码语料库(如CodeSearchNet)中的签名、文档字符串及周边上下文信息,结合深度学习模型(如Transformer架构及其变体eWASH)实现精准的方法级代码补全。该方向与近年来AI辅助编程工具(如GitHub Copilot、Codex)的兴起紧密相关,通过大规模监督学习提升代码生成的自然性与功能性,对软件工程自动化、开发者生产力提升具有深远意义。当前前沿工作侧重长距离代码依赖建模与语法层次感知,以克服传统模型在复杂方法生成中的上下文丢失问题。
以上内容由遇见数据集搜集并总结生成



