首页
项目
数据
教育
大赛
态势
博客
论坛
登录
注册
GitHub平台重复Pull-request数据集
LiZX
开发数据
开发制品
207.2 MB
05/06/2018 19:39
返回
## 本数据集是什么? 本数据集是国家重点研发计划“基于大数据的软件智能开发方法和环境”公布的软件工程研究数据集系列之一,主要是GitHub上重复Pull-request(PR)数据集。 ## 本数据集为什么? 在基于PR的开发模式下,开发者首先对原始项目执行`fork`操作从而得到其本地克隆库;然后开发者在本地克隆库做修改而不用影响原始版本库的主分支开发流程;当开发者的本地修改完成后,其把所有修改打包成一个PR并提交到原始项目版本库中进行质量审阅。虽然这种模式比以往的一些分布式协同工作模式有了更高的开放性和透明性,但是在工作协调方面上仍然有潜在的风险。比如,在执行fork操作后至提交PR前这段线下工作期间,开发者之间还是不能够充分了解彼此的工作,因此就有可能会导致多个开发者提交重复的PR以解决同一个问题。 重复PR会来一系列问题,如增加托管平台GitHub的维护成本,使得审阅者重复审阅冗余的PR,并且,如果重复PR不能被妥善解决,还有可能会影响贡献者的持续贡献积极性。因此,探究重复PR的起因以及其所带来的后果,研究处理重复PR所面临的挑战,开发自动化支持工具等是非常有必要的。本数据集为这些研究点的有效开展提供了一个标准数据集,也就是GitHub平台历史重复PR数据集。 本数据集的构造过程采取的是自动化识别和人工验证相结合的方式,其具体构造方法可参考[更为详细的文档](https://whystar.github.io/res/paper/msr2018.pdf)。 ## 本数据集有什么? GitHub平台26个热门项目的历史PR、PR的评论以及其重复关系。具体表结构如下: * `project` (项目列表) * `id` -> 主键 * `user_name` -> 项目所有者 * `repo_name` -> 项目名 * `created_at` -> 项目的创建时间 * `watch_count` -> 项目的watch数量 * `fork_count` -> 项目的fork刷另 * `star_count` -> 项目的star数量 * `pull-request` (pull-request表) * `id` -> 主键 * `prj_id` -> PR所属项目id * `pr_number` -> PR的编号 * `title` -> PR在Github上的标题 * `description` -> PR在Github上的描述 * `author` -> PR提交者在Github上的用户名 * `created_at` -> PR的创建时间 * `comment` (pull-reqeust评论表) * `id` -> 主键 * `pr_id` -> 该评论对应的PR的id * `author_name` -> 评论者在Github的用户名 * `comment_body` -> 评论的文本信息 * `created_at` -> 评论的创建时间 * `duplicate` (重复关联表) * `prj_id` -> 重复PR对应的项目的id * `mst_pr` -> 重复PR其中一个的编号 * `dup_pr` -> 重复PR另一个的编号 * `idn_cmt` -> 识别该重复PR的评论 ## 下载链接 本数据集直接下载地址:[GitHub 重复Pull-Request数据集](https://github.com/whystar/MSR2018-DupPR/raw/master/dataset/raw.zip)