CommitDataset
收藏github2019-10-14 更新2024-05-31 收录
下载链接:
https://github.com/ShuyaoJiang/CommitDataset
下载链接
链接失效反馈官方服务:
资源简介:
包含18个Java项目的代码更改文件、原始提交信息和通过ChangeScribe生成的总结文本,以及预处理和合并后的数据集,用于训练、验证和测试。
This dataset comprises code change files, original commit information, and summary texts generated by ChangeScribe from 18 Java projects. It also includes preprocessed and merged datasets intended for training, validation, and testing purposes.
创建时间:
2019-05-14
原始信息汇总
CommitDataset
数据集结构
CommitDataset_raw
- diff:每个项目每次提交的代码更改文件。
- Original:每个项目每次提交的原始提交信息。
- ChangeScribe:每个项目每次提交通过 ChangeScribe 生成的总结文本。
- msgprocess.sh:对原始数据进行预处理的脚本。
CommitDataset_processed
- Original:每个项目每次提交的原始提交信息(处理后)。
- ChangeScribe:每个项目每次提交通过 ChangeScribe 生成的总结文本(处理后)。
- Merged:每个项目合并后的数据,包含 diff、cs_msg 和 ori_msg。
- data:所有项目合并后的数据,以及划分好的训练集/验证集/测试集。
- merge_diff.sh:合并 diff 的脚本。
- merge_msg.sh:合并 cs_msg 和 ori_msg 的脚本。
- merge_all.sh:合并所有项目数据,并划分训练集/验证集/测试集的脚本。
搜集汇总
数据集介绍

构建方式
CommitDataset的构建涉及对开源项目提交记录的采集与处理。具体而言,该数据集的原始数据包括每次提交的代码更改文件(diff)、原始提交信息(Original)以及通过ChangeScribe生成的总结文本(ChangeScribe)。经过预处理,将数据整合为每个项目的合并数据(Merged),并进一步划分为训练集、验证集和测试集,以供机器学习模型训练与评估之用。
特点
该数据集的特点在于其详尽的提交记录,涵盖了代码更改、原始提交信息及生成的总结文本,为研究者提供了丰富的信息资源。经过预处理后的数据集,以结构化形式存储,便于分析,且已划分好的数据集划分有助于模型训练的高效进行。
使用方法
使用CommitDataset数据集,用户首先需要理解其数据结构,包括合并后的数据格式以及训练、验证、测试集的划分。用户可通过运行提供的脚本,对原始数据进行预处理,包括合并diff文件、合并总结文本与原始信息以及最终的数据整合和划分。此外,数据集的 README 文件提供了详尽的指引,以确保用户能够正确地加载和使用数据集。
背景与挑战
背景概述
CommitDataset是一项旨在推进版本控制系统数据研究的重要数据集,创建于近年来,由版本控制系统的研究团队精心打造。该数据集凝聚了主要研究人员和机构的智慧,其核心研究问题聚焦于如何通过分析代码提交信息来提升软件工程领域的自动化与智能化水平。CommitDataset的出现,为软件工程、机器学习以及自然语言处理等多个领域提供了丰富的实验资源,对相关领域产生了深远的影响力。
当前挑战
该数据集在解决版本控制系统中的信息提取与理解问题的同时,面临着诸多挑战。首先,如何准确提取并处理代码提交中的差异性信息是一大难点。其次,构建过程中,对大量数据进行预处理、合并以及划分训练集、验证集和测试集的工作,不仅需要高度精确的脚本编写,还需克服数据一致性、完整性的挑战。这些挑战对于确保数据集的质量和研究结果的可靠性至关重要。
常用场景
经典使用场景
在软件工程研究领域,CommitDataset 数据集被广泛用于探究代码提交信息中的语义特征。其经典的使用场景主要在于通过分析每个项目每次提交的代码更改文件(diff)、原始提交信息(Original)以及通过 ChangeScribe 生成的总结文本(ChangeScribe),来构建机器学习模型,旨在自动化地理解和分类软件开发过程中的提交信息。
实际应用
在实际应用中,CommitDataset 数据集可用于软件开发工具的改进,如智能IDE的代码补全、代码变更推荐以及软件开发过程中的自动文档生成等。它为开发工具提供了深度学习的训练基础,有助于实现更为智能化和个性化的软件开发辅助功能。
衍生相关工作
基于CommitDataset 数据集,研究者们衍生出了众多相关工作,包括但不限于代码意图识别、缺陷预测、代码质量评估等方面的研究。这些工作进一步拓展了数据集的应用范围,为软件工程领域的理论和实践贡献了重要的研究成果。
以上内容由遇见数据集搜集并总结生成



