susnato/csharp_PRs
收藏Hugging Face2024-01-17 更新2024-03-04 收录
下载链接:
https://hf-mirror.com/datasets/susnato/csharp_PRs
下载链接
链接失效反馈官方服务:
资源简介:
---
dataset_info:
features:
- name: repo_name
dtype: string
- name: pr_number
dtype: int64
- name: pr_title
dtype: string
- name: pr_description
dtype: string
- name: author
dtype: string
- name: date_created
dtype: timestamp[ns, tz=UTC]
- name: date_merged
dtype: timestamp[ns, tz=UTC]
- name: previous_commit
dtype: string
- name: pr_commit
dtype: string
- name: query
dtype: string
- name: filepath
dtype: string
- name: before_content
dtype: string
- name: after_content
dtype: string
- name: label
dtype: int64
splits:
- name: train
num_bytes: 117579951237
num_examples: 2074433
download_size: 58125931847
dataset_size: 117579951237
configs:
- config_name: default
data_files:
- split: train
path: data/train-*
---
数据集信息:
特征字段:
- 字段名称:repo_name,数据类型:字符串(string)
- 字段名称:拉取请求(Pull Request,PR)编号(pr_number),数据类型:64位整数(int64)
- 字段名称:PR标题(pr_title),数据类型:字符串(string)
- 字段名称:PR描述(pr_description),数据类型:字符串(string)
- 字段名称:作者(author),数据类型:字符串(string)
- 字段名称:创建时间(date_created),数据类型:带纳秒精度、时区为协调世界时(UTC)的时间戳(timestamp[ns, tz=UTC])
- 字段名称:合并时间(date_merged),数据类型:带纳秒精度、时区为协调世界时(UTC)的时间戳(timestamp[ns, tz=UTC])
- 字段名称:前序提交(previous_commit),数据类型:字符串(string)
- 字段名称:PR关联提交(pr_commit),数据类型:字符串(string)
- 字段名称:查询语句(query),数据类型:字符串(string)
- 字段名称:文件路径(filepath),数据类型:字符串(string)
- 字段名称:修改前内容(before_content),数据类型:字符串(string)
- 字段名称:修改后内容(after_content),数据类型:字符串(string)
- 字段名称:标签(label),数据类型:64位整数(int64)
数据集划分:
- 划分名称:train(训练集),字节大小:117579951237,样本数量:2074433
下载大小:58125931847
数据集存储大小:117579951237
配置项:
- 配置名称:default(默认配置)
数据文件:
- 对应划分:train(训练集),文件路径:data/train-*
提供机构:
susnato原始信息汇总
数据集概述
数据集特征
- repo_name: 字符串类型
- pr_number: 64位整数类型
- pr_title: 字符串类型
- pr_description: 字符串类型
- author: 字符串类型
- date_created: 时间戳类型,UTC时区
- date_merged: 时间戳类型,UTC时区
- previous_commit: 字符串类型
- pr_commit: 字符串类型
- query: 字符串类型
- filepath: 字符串类型
- before_content: 字符串类型
- after_content: 字符串类型
- label: 64位整数类型
数据集分割
- train:
- 字节数: 117579951237
- 样本数: 2074433
数据集大小
- 下载大小: 58125931847 字节
- 数据集大小: 117579951237 字节
配置
- config_name: default
- data_files:
- split: train
- path: data/train-*
- data_files:
搜集汇总
数据集介绍

构建方式
在软件工程与自然语言处理交叉领域,代码审查数据集的构建对于理解开发者协作模式至关重要。susnato/csharp_PRs数据集通过系统化爬取GitHub平台上C#语言的开源仓库,精准抓取Pull Request(PR)元数据及其关联的代码变更内容构建而成。每条记录包含仓库名称、PR编号、标题与描述、作者信息、创建与合并时间戳,以及关键的前后提交哈希值。特别地,数据集提取了PR对应的文件路径、变更前后的代码片段(before_content与after_content),并基于代码变更语义自动生成查询文本(query)与二分类标签(label),从而形成结构化的训练样本。最终汇聚超过200万条PR数据,以parquet分片格式存储于单一训练集分割中。
使用方法
本数据集可通过HuggingFace Datasets库便捷加载,指定配置名为'default'并启用流式读取以应对大规模数据。使用者可选取train分割中的字段,如利用before_content与after_content构建代码差异编码器,或结合pr_title与pr_description训练PR摘要生成模型。query字段可直接作为文本到代码检索任务的查询输入,label则用于二分类微调。建议在预处理阶段过滤缺失值,并根据文件路径(filepath)按项目或文件类型分组以进行领域适配。由于数据已按parquet格式分片,推荐使用多进程并行加载,并结合transformers库的tokenizer对代码序列进行分词与截断处理,以适配Transformer架构的输入长度限制。
背景与挑战
背景概述
在软件工程领域,代码审查是保障代码质量与促进知识共享的关键环节,而拉取请求(Pull Request, PR)作为现代协作开发的核心机制,其分析与理解对自动化代码审查、缺陷预测及开发者行为研究具有深远意义。由研究者susnato构建的csharp_PRs数据集,专注于C#语言生态,收集了超过200万条真实PR记录,涵盖仓库名称、PR编号、标题描述、作者信息、时间戳及代码变更前后内容等丰富字段。该数据集创建于近年,旨在为机器学习模型提供大规模、高质量的PR级训练语料,尤其服务于代码差异理解与变更意图分类任务。其影响力体现在为C#社区填补了结构化PR数据空白,推动从代码片段分析向完整PR上下文的范式转变,为后续研究如自动代码审查、变更总结生成奠定了坚实数据基础。
当前挑战
该数据集的核心挑战在于应对PR级代码理解的多层次复杂性。首先,领域问题层面,PR描述与代码变更之间存在语义鸿沟,模型需从自然语言标题、描述及结构化代码差异中联合推断变更意图(如修复缺陷、新增特性或重构),这对跨模态对齐提出高要求。其次,构建过程中面临显著挑战:数据规模庞大(约2.07百万样本)导致存储与处理开销巨大,且需从GitHub API爬取原始PR数据,面临速率限制与数据噪声(如不完整描述、不一致的提交信息)。此外,标签标注依赖启发式规则或人工校验,难以覆盖所有细粒度变更类型,可能引入偏见。最后,语言特定性(C#语法与生态)限制了跨语言泛化能力,而时间跨度内代码风格演变也增加了模型长期有效性验证的难度。
常用场景
经典使用场景
在软件工程与自然语言处理交叉领域中,susnato/csharp_PRs数据集以其丰富的C#语言拉取请求(Pull Requests)数据,成为代码审查与变更理解研究的基石。该数据集收录了超过两百万条训练样本,每条样本包含仓库名称、PR编号、标题、描述、作者、创建与合并时间、前后提交哈希、查询语句、文件路径、变更前后的代码内容以及标签。研究者可借此构建模型,自动生成PR摘要、识别代码变更意图,或预测PR是否会被合并,从而推动代码智能化管理的发展。
解决学术问题
该数据集有效解决了代码变更理解与自动化审查中的关键学术难题。传统方法依赖人工分析代码差异,耗时且易出错。susnato/csharp_PRs提供了海量结构化的代码变更实例,使研究者能够训练深度学习模型,自动学习代码变更模式与语义。它助力探索代码变更分类、缺陷预测、以及开发者行为分析等问题,为软件工程中的实证研究提供了坚实的数据基础,显著提升了代码审查的自动化水平与研究深度。
实际应用
在实际应用中,susnato/csharp_PRs数据集可赋能多种软件开发工具与平台。例如,集成开发环境(IDE)可基于该数据训练模型,实时为开发者提供PR描述建议或变更合理性评估。代码托管平台如GitHub可借助其提升PR审查效率,自动标记高风险变更或推荐审查者。此外,企业级代码质量管理系统中,该数据集可用于构建智能代码审计模块,减少人工审查负担,加速软件迭代周期。
数据集最近研究
最新研究方向
在软件工程与自然语言处理交叉领域,代码审查与合并请求(Pull Request)的智能化分析正成为前沿热点。susnato/csharp_PRs数据集聚焦C#语言生态,收录了超过200万条真实PR样本,涵盖仓库名称、PR标题与描述、作者信息、时间戳、提交变更前后代码内容及人工标注标签等丰富字段。该数据集为代码质量评估、变更影响预测、代码审查自动化及开发者行为建模提供了大规模、高质量的训练基础。当前研究多利用此类数据训练大语言模型,以理解代码变更意图、生成审查建议或识别潜在缺陷,推动从静态代码分析向动态协作流程的智能辅助演进。其发布不仅加速了C#社区中基于数据驱动的工具研发,也为跨语言代码理解与软件工程智能化的通用范式探索奠定了重要资源基础。
以上内容由遇见数据集搜集并总结生成



