five

Detecting-Semantic-Concerns-in-Tangled-Code-Changes-Using-SLMs

收藏
Hugging Face2025-08-08 更新2025-08-09 收录
下载链接:
https://huggingface.co/datasets/Berom0227/Detecting-Semantic-Concerns-in-Tangled-Code-Changes-Using-SLMs
下载链接
链接失效反馈
官方服务:
资源简介:
该数据集包含用于软件工程任务训练和评估的提交数据,特别是用于识别和分离多关注点提交中的关注点。数据集分为两种主要配置:sampled配置包含单一关注点的原子提交,tangled配置包含将多个原子提交组合在一起的多关注点提交。
创建时间:
2025-08-02
原始信息汇总

数据集概述:Detecting-Semantic-Concerns-in-Tangled-Code-Changes-Using-SLMs

基本信息

  • 许可证: MIT
  • 任务类别: 文本生成、文本分类
  • 语言: 英语
  • 标签: 代码、Git、提交记录、软件工程、关注点分离
  • 规模: 1K<n<10K

数据集描述

该数据集包含两种主要配置:

1. 采样数据集 (sampled)

  • 文件: data/sampled_ccs_dataset.csv
  • 描述: 包含单一关注点的原子提交记录
  • 特征:
    • annotated_type: 提交记录中的关注点/变更类型
    • masked_commit_message: 敏感信息被屏蔽的提交消息
    • git_diff: 以diff格式表示的实际代码变更
    • sha: Git提交记录的SHA哈希值

2. 纠缠数据集 (tangled)

  • 文件: data/tangled_ccs_dataset.csv
  • 描述: 包含多个关注点的复合提交记录
  • 特征:
    • description: 所有关注点的组合描述
    • diff: 所有变更的组合diff
    • concern_count: 组合的关注点数量
    • shas: 包含原始提交记录SHA哈希值的JSON字符串
    • types: 包含关注点类型的JSON字符串

数据集统计

  • 采样数据集: ~1.3MB,包含原子提交记录
  • 纠缠数据集: ~7.1MB,包含人工合成的复合关注点提交记录

使用场景

  1. 提交消息生成: 为代码变更生成合适的提交消息
  2. 关注点分类: 分类提交记录中的关注点类型
  3. 提交记录分解: 将复合关注点提交记录分解为单个关注点
  4. 代码变更分析: 理解代码变更与其描述之间的关系

数据收集与处理

数据集创建过程包括:

  1. 从软件仓库收集原子提交记录
  2. 基于质量标准采样和过滤提交记录
  3. 人工合成原子提交记录以创建复合关注点示例
  4. 在保留语义内容的同时屏蔽敏感信息

引用

bibtex @dataset{css_commits_dataset, title={Untangling Multi-Concern Commits with Small Language Models}, author={Your Name}, year={2024}, url={https://huggingface.co/datasets/Untangling-Multi-Concern-Commits-with-Small-Language-Models} }

脚本与工具

包含多个Python脚本用于数据处理和分析:

  • sample_ccs_dataset.py: 用于采样和过滤提交记录的脚本
  • generate_tangled.py: 用于创建复合关注点提交记录的脚本
  • clean_ccs_dataset.py: 数据清洗和预处理工具
  • show_sampled_diffs.py: 采样提交记录diff的可视化
  • show_tokens_distribution.py: 数据集中令牌分布的分析

许可证

该数据集采用MIT许可证发布。

数据集加载

可使用Hugging Face datasets库加载该数据集: python from datasets import load_dataset

加载采样数据集

sampled_data = load_dataset("Untangling-Multi-Concern-Commits-with-Small-Language-Models", "sampled")

加载纠缠数据集

tangled_data = load_dataset("Untangling-Multi-Concern-Commits-with-Small-Language-Models", "tangled")

搜集汇总
数据集介绍
main_image_url
构建方式
在软件工程领域,代码提交的语义分析对于理解开发意图至关重要。本数据集通过系统化流程构建:首先从软件仓库采集原子提交,经过质量筛选后保留符合标准的单关注点提交;随后采用人工合成策略,将多个原子提交组合成复杂的多关注点提交实例,同时对所有敏感信息进行掩码处理以保护隐私并保持语义完整性。
特点
该数据集呈现双模态结构:采样数据集包含约1.3MB的单关注点原子提交,每条记录包含标注类型、掩码提交信息和代码差异;纠缠数据集约7.1MB,通过人工构造的多关注点提交展现复合特征,包括混合描述、组合差异及原始提交的哈希序列。这种设计有效模拟了真实开发环境中代码变更的复杂性。
使用方法
研究者可通过Hugging Face数据集库加载两个子集:采样数据集适用于提交消息生成和关注点分类任务,纠缠数据集专用于提交解构和代码变更分析。典型应用场景包括训练模型识别提交中的语义关注点,或将多关注点提交分解为原子变更,为软件维护研究提供重要数据支撑。
背景与挑战
背景概述
在软件工程领域,代码提交的语义分析一直是版本控制系统研究的核心议题。Detecting-Semantic-Concerns-in-Tangled-Code-Changes-Using-SLMs数据集由研究团队于2024年构建,专注于解决多关注点提交中的语义分离问题。该数据集通过收集原子提交并人工构建复杂提交样本,为小语言模型在代码变更理解、提交消息生成等任务提供了重要基准,显著推动了智能编程辅助工具的发展。
当前挑战
该数据集致力于解决软件工程中多关注点提交的语义分离挑战,包括准确识别混合提交中的独立关注点、生成精确的提交消息以及实现代码变更的自动分解。构建过程中面临数据质量控制的复杂性,需要确保原子提交的纯净性;同时人工构建多关注点提交时需保持语义一致性,避免引入噪声;此外还需处理敏感信息的掩蔽问题,确保数据隐私安全。
常用场景
衍生相关工作
围绕该数据集已衍生出多项经典研究工作,包括基于小语言模型的提交消息生成系统、多任务学习的关注点分类框架,以及结合图神经网络的代码变更分析模型。这些工作显著推进了自动化软件工程领域的发展,为智能代码审查和软件质量保障提供了新的技术路径。
数据集最近研究
最新研究方向
在软件工程智能化研究领域,该数据集正推动基于小型语言模型的代码变更语义分析前沿探索。研究者们聚焦于多关注点提交的自动解构技术,通过结合自然语言处理与代码差异分析,实现复杂提交的语义分离和分类。这一方向与当前DevOps自动化流程优化、代码审查智能化等热点紧密结合,为提升软件维护效率和质量提供了重要数据支撑。相关研究不仅促进了提交信息自动生成技术的精进,更为理解开发人员意图与代码变更间的深层关联开辟了新途径,对智能编程助手和代码质量保障系统的发展具有显著意义。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作