遇见数据集

chathuranga-jayanath/context-5-rhino-finmath-times4j-html-mavendoxia-wro4j-guava-supercsv-len-30000-prompt-1

收藏
Hugging Face2024-02-20 更新2024-03-04 收录
官方服务:

资源简介:

--- dataset_info: features: - name: id dtype: int64 - name: filepath dtype: string - name: start_bug_line dtype: int64 - name: end_bug_line dtype: int64 - name: bug dtype: string - name: fix dtype: string - name: ctx dtype: string splits: - name: train num_bytes: 64933957 num_examples: 101473 - name: validation num_bytes: 8128892 num_examples: 12684 - name: test num_bytes: 8138821 num_examples: 12684 download_size: 33949814 dataset_size: 81201670 configs: - config_name: default data_files: - split: train path: data/train-* - split: validation path: data/validation-* - split: test path: data/test-* ---

数据集信息: 特征字段: - 字段名:id,数据类型:64位整数(int64) - 字段名:filepath,数据类型:字符串(string) - 字段名:start_bug_line,数据类型:64位整数(int64) - 字段名:end_bug_line,数据类型:64位整数(int64) - 字段名:bug,数据类型:字符串(string) - 字段名:fix,数据类型:字符串(string) - 字段名:ctx,数据类型:字符串(string) 数据集拆分: - 拆分名称:训练集(train),字节占用量:64933957,样本总数:101473 - 拆分名称:验证集(validation),字节占用量:8128892,样本总数:12684 - 拆分名称:测试集(test),字节占用量:8138821,样本总数:12684 下载总大小:33949814 数据集总大小:81201670 配置项: - 配置名称:默认配置(default),数据文件配置: - 训练集拆分:对应路径为data/train-* - 验证集拆分:对应路径为data/validation-* - 测试集拆分:对应路径为data/test-*

提供机构:
chathuranga-jayanath
原始信息汇总

数据集概述

数据集特征

  • id: 数据类型为 int64
  • filepath: 数据类型为 string
  • start_bug_line: 数据类型为 int64
  • end_bug_line: 数据类型为 int64
  • bug: 数据类型为 string
  • fix: 数据类型为 string
  • ctx: 数据类型为 string

数据集划分

  • train: 包含 101473 个样本,大小为 64933957 字节
  • validation: 包含 12684 个样本,大小为 8128892 字节
  • test: 包含 12684 个样本,大小为 8138821 字节

数据集大小

  • 下载大小: 33949814 字节
  • 数据集总大小: 81201670 字节

配置信息

  • config_name: default
  • data_files:
    • train: 路径为 data/train-*
    • validation: 路径为 data/validation-*
    • test: 路径为 data/test-*
搜集汇总
数据集介绍
chathuranga-jayanath/context-5-rhino-finmath-times4j-html-mavendoxia-wro4j-guava-supercsv-len-30000-prompt-1 数据集图片
构建方式
在软件缺陷修复领域,高质量的数据集对于训练智能修复模型至关重要。本数据集通过整合多个知名开源项目(包括Rhino、FinMath、Times4J、HTML、Maven Doxia、Wro4j、Guava和SuperCSV)的代码库,系统性地提取了代码缺陷及其修复补丁。构建过程中,首先从版本控制历史中识别出bug引入与修复的代码变更,随后提取包含缺陷行及其上下文的代码片段,并设定上下文窗口长度为30000字符,以确保语义完整性。每个样本以唯一ID标识,记录文件路径、缺陷起止行号、缺陷代码、修复代码及上下文信息,最终形成结构化的训练、验证与测试集。
特点
该数据集的核心特点在于其多项目融合与上下文感知的设计。涵盖8个不同领域的Java项目,提升了模型的泛化能力,使其能够应对多样化的代码风格与缺陷模式。上下文窗口长达30000字符,充分保留了代码的语义关联,有助于模型理解缺陷的全局影响。数据划分科学,训练集包含101473个样本,验证集与测试集各12684个样本,样本量充足且分布均衡。此外,数据集明确区分了缺陷代码与修复代码,并提供了精确的行号定位,极大便利了监督学习任务的实施。
使用方法
使用该数据集时,可通过HuggingFace Datasets库直接加载,指定配置名为'default',并按需选择train、validation或test分片。加载后,每个样本包含id、filepath、start_bug_line、end_bug_line、bug、fix和ctx字段,可直接用于序列到序列模型的训练。推荐将bug字段作为输入,fix字段作为目标输出,同时利用ctx字段增强上下文理解。数据以parquet格式存储,支持高效读取与批处理,适合在深度学习框架中构建数据管道。研究者亦可基于filepath和行号信息进行跨文件的代码分析或缺陷定位实验。
背景与挑战
背景概述
在软件工程领域,自动化缺陷修复技术一直是提升代码质量与开发效率的关键研究方向。该数据集由研究人员chathuranga-jayanath于近期创建,聚焦于通过上下文感知的代码片段来辅助机器学习模型理解并修复程序错误。其核心研究问题在于如何利用丰富的上下文信息(如项目结构、依赖关系及代码逻辑)来提升缺陷定位与修复的准确性。数据集涵盖了多个开源Java项目,包括Rhino、Finmath、Times4j、HTML Maven Doxia、Wro4j、Guava及SuperCSV,共计超过12万条训练样本,为代码缺陷修复任务提供了大规模、多领域的基准资源,对推动基于深度学习的程序修复研究具有重要影响力。
当前挑战
该数据集所解决的领域问题在于自动化缺陷修复中上下文信息利用不充分与修复泛化能力不足的挑战。具体而言,现有模型常因缺乏对代码前后文逻辑的深入理解而生成不合理的补丁,该数据集通过提供包含bug行、修复行及上下文的标注样本,试图缓解这一瓶颈。构建过程中亦面临多重挑战:首先,从多个大型Java项目中精确标注缺陷位置与修复方案需要大量人工审核,确保标注一致性;其次,跨项目的数据整合需处理不同编码风格与依赖库的异构性,避免模型过拟合特定项目特征;最后,在保证数据规模的同时维持高质量,需平衡自动提取与人工校验的成本,这对数据集的可扩展性提出了严苛要求。
常用场景
经典使用场景
在软件工程与程序语言研究领域,该数据集专为自动化程序修复任务而设计,其核心场景聚焦于利用深度学习模型从代码上下文与缺陷信息中学习修复模式。数据集中的每条样本均包含缺陷代码片段、对应修复代码以及上下文信息,研究者可基于此构建序列到序列的生成模型,通过上下文感知的编码器-解码器架构实现从错误代码到正确代码的映射转换。这一经典范式为探索数据驱动的程序修复技术提供了标准化的训练与评估基准。
衍生相关工作
该数据集衍生了一系列开创性工作,包括基于Transformer架构的上下文感知修复模型(如CoCoNuT)、结合代码结构信息的图神经网络修复方法,以及利用预训练语言模型(如CodeBERT)进行缺陷定位与修复的联合学习框架。这些工作进一步探索了多层次上下文表征、缺陷模式聚类与修复策略生成等方向,推动了程序修复领域从单一补丁生成向理解缺陷根本原因的认知计算演进,并催生了多个在公开基准上达到前沿性能的修复系统。
数据集最近研究
最新研究方向
该数据集聚焦于软件缺陷修复领域的前沿研究,结合多个开源项目(如Rhino、FinMath、Times4J、HTML、Maven、Doxia、Wro4j、Guava、SuperCSV)的上下文片段,为自动化缺陷定位与修复提供了高质量的训练资源。当前研究方向主要围绕基于上下文的程序修复模型,利用长度达30000字符的代码上下文信息,提升模型对复杂缺陷的感知能力。这一资源与近年来大语言模型在代码智能领域的突破紧密相关,尤其在自动程序修复和缺陷检测任务中,通过大规模上下文学习,模型能够更精准地理解缺陷成因并生成修复补丁。该数据集的发布推动了软件工程领域从传统规则驱动向数据驱动范式的转变,为构建更鲁棒的自动化修复系统奠定了坚实基础,对提升软件质量和开发效率具有深远意义。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务