five

GitLab Merge Request Dataset

收藏
arXiv2025-07-31 更新2025-08-02 收录
下载链接:
https://figshare.com/s/632a15054ffb881ae72d
下载链接
链接失效反馈
官方服务:
资源简介:
该数据集包含来自GitLab的四个开源项目中的超过23.6k个合并请求(MR),用于研究代码审查过程中的代码更改量。数据集记录了每个MR创建后所有提交中添加和删除的代码行数,从而反映了在集成之前所需的实际校正或调整量。数据集旨在帮助理解和预测代码审查过程中整合代码更改所需的努力。

This dataset contains over 23.6k merge requests (MRs) from four open-source projects hosted on GitLab, targeting research on the volume of code changes during code review processes. It records the lines of code added and deleted across all commits made after each MR was created, thus reflecting the actual amount of corrections or adjustments required prior to code integration. The dataset is designed to help understand and predict the effort needed to integrate code changes during the code review workflow.
提供机构:
École de technologie supérieure (ÉTS), Montreal, Canada
创建时间:
2025-07-31
搜集汇总
数据集介绍
main_image_url
构建方式
GitLab Merge Request Dataset的构建基于对四个开源GitLab项目的23,600多个合并请求(MRs)的系统性收集与分析。研究团队通过GitLab API提取了包括MRs、提交记录、代码变更、讨论及审查评论在内的多维数据,确保了数据来源的全面性和可靠性。数据处理阶段采用了Spearman相关性分析和冗余性分析,以减少特征间的共线性问题,并通过中位数离散化将变更量转化为二元分类标签('大'或'小'),为后续机器学习建模奠定基础。
特点
该数据集的核心特点在于其以代码变更量(提交后新增和删除的代码行数总和)作为衡量代码审查(CR)工作量的创新指标,突破了传统研究中以时间或迭代次数为度量标准的局限性。数据覆盖了Omnibus、GitLab Runner、Inkscape和Gitaly四个项目,其中73%的MRs需在审查阶段进行代码调整,28%涉及超过200行的重大修改。值得注意的是,变更量与审查时长或参与者数量呈低相关性(Spearman系数<0.5),揭示了代码审查中隐藏的复杂性维度。
使用方法
该数据集支持三类主要应用:首先,通过描述性统计(如变更量分布分析)揭示代码审查中的工作量模式;其次,利用随机森林等机器学习模型(AUC 0.84-0.88)预测MRs的变更规模分类,其中代码复杂度、开发者经验和文本特征被验证为关键预测因子;最后,基于累积局部效应(ALE)分析可量化各特征对变更量的影响方向与强度,例如初始文件数每增加10个,大型变更概率提升15%。用户可通过公开的复现包(含数据与脚本)快速复现研究或扩展新维度分析。
背景与挑战
背景概述
GitLab Merge Request Dataset是由加拿大École de technologie supérieure (ÉTS)的Samah Kansab、Mohammed Sayagh、Francis Bordeleau以及TELUS Communications的Ali Tizghadam等研究人员于2025年创建的。该数据集专注于研究代码审查(Code Review, CR)过程中所需的代码修改量,特别是在GitLab的合并请求(Merge Request, MR)机制下的表现。通过分析来自四个GitLab项目的23.6k个MR,研究发现高达71%的MR在提交后需要调整,其中28%涉及超过200行代码的修改。这一数据集为理解代码审查中的实际工作量提供了量化依据,填补了以往研究中仅关注审查时间或迭代次数的空白。
当前挑战
GitLab Merge Request Dataset面临的挑战主要包括两个方面:1) 领域问题的挑战:代码审查过程中,如何准确量化开发者投入的工作量是一个复杂问题。传统方法依赖审查时间或迭代次数,但这些指标无法全面反映实际的代码修改量。例如,某些MR可能在短时间内完成大量修改,而另一些则耗时较长但修改量较小。2) 构建过程中的挑战:数据收集和分析涉及多个维度,包括文本特征、代码复杂性、开发者经验、审查历史和分支策略等。此外,数据预处理中需处理特征间的相关性及冗余,确保模型训练的准确性和可解释性。这些挑战要求研究者在数据质量和模型性能之间找到平衡。
常用场景
经典使用场景
GitLab Merge Request Dataset广泛应用于软件工程领域,特别是在代码审查(Code Review)和合并请求(Merge Request)的研究中。该数据集通过分析超过23.6k个合并请求,揭示了代码审查过程中所需的修改量及其影响因素。经典使用场景包括评估代码审查效率、预测合并请求所需的修改量以及优化开发团队的协作流程。
解决学术问题
该数据集解决了多个学术研究问题,包括如何量化代码审查过程中的修改量、如何预测合并请求的审查时间以及如何优化开发团队的协作效率。研究发现,高达71%的合并请求在提交后需要调整,28%的合并请求涉及超过200行代码的修改。这些发现为理解代码审查的复杂性提供了新的视角,并推动了相关领域的研究进展。
衍生相关工作
该数据集衍生了许多经典研究工作,包括基于机器学习的合并请求分类模型、代码审查效率优化方法以及开发团队协作模式的分析。例如,研究者利用该数据集训练了随机森林模型(AUC 0.84–0.88),成功预测了合并请求所需的修改量。此外,该数据集还被用于分析代码复杂性、开发者经验和文本特征对审查过程的影响,推动了软件工程领域的多项创新研究。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

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

二维码
科研交流群

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

数据驱动未来

携手共赢发展

商业合作