计算机科学 > 软件工程
[提交于 2025年7月31日
]
标题: 对合并请求接受所需更改量的实证研究
标题: An Empirical Study on the Amount of Changes Required for Merge Request Acceptance
摘要: 代码审查(CR)是软件开发中的重要环节,有助于确保新代码正确集成。 然而,CR过程通常需要大量努力,包括代码调整、对审阅者的回应以及持续的实现。 尽管过去的研究已经探讨了CR延迟和迭代次数,但很少有研究基于所需的代码变更量来调查工作量,尤其是在GitLab合并请求(MR)的背景下,这仍是一个研究不足的领域。 在本文中,我们定义并衡量CR工作量为提交后修改的代码量,使用来自四个GitLab项目的超过23,600个MR的数据集。 我们发现,多达71%的MR在提交后需要调整,其中28%的调整涉及超过200行代码的变化。 令人惊讶的是,这种工作量与评审时间和参与人数无关。 为了更好地理解和预测CR工作量,我们使用多个维度的指标训练了一个可解释的机器学习模型:文本特征、代码复杂性、开发人员经验、评审历史和分支策略。 我们的模型表现出良好的性能(AUC 0.84-0.88),并揭示了复杂性、经验和文本特征是关键预测因素。 历史项目特征也会影响当前的评审工作量。 我们的研究结果突显了利用机器学习来解释和预测评审过程中整合代码变更所需工作量的可行性。
文献和引用工具
与本文相关的代码,数据和媒体
alphaXiv (什么是 alphaXiv?)
CatalyzeX 代码查找器 (什么是 CatalyzeX?)
DagsHub (什么是 DagsHub?)
Gotit.pub (什么是 GotitPub?)
Hugging Face (什么是 Huggingface?)
带有代码的论文 (什么是带有代码的论文?)
ScienceCast (什么是 ScienceCast?)
演示
推荐器和搜索工具
arXivLabs:与社区合作伙伴的实验项目
arXivLabs 是一个框架,允许合作伙伴直接在我们的网站上开发和分享新的 arXiv 特性。
与 arXivLabs 合作的个人和组织都接受了我们的价值观,即开放、社区、卓越和用户数据隐私。arXiv 承诺这些价值观,并且只与遵守这些价值观的合作伙伴合作。
有一个为 arXiv 社区增加价值的项目想法吗? 了解更多关于 arXivLabs 的信息.