arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2203.05048cs.SE
收藏

挖掘代码审查数据以了解接受和合并之间的等待时间:一项实证分析

Mining Code Review Data to Understand Waiting Times Between Acceptance and Merging: An Empirical Analysis

Gunnar Kudrjavets, Aditya Kumar, Nachiappan Nagappan, Ayushi Rastogi

摘要:

提高代码速度(或代码更改被审查和合并的速度)是加速开发不可或缺的一部分,有助于工程师的工作满意度。虽然影响代码更改接受的因素在过去已经被调查过,但减少代码审查生命周期的解决方案却不太清楚。本研究调查的代码审查过程中,量化延迟和调查的机会,以潜在地提高代码的速度。我们研究了Gerrit和Phabricator上托管的50万个代码审查的时间特性,从第一个响应开始,到决定接受或拒绝更改,直到更改合并到目标分支。我们确定了两种类型的时间延迟:(a)从提出代码更改到第一次响应的等待时间,以及(b)接受和合并之间的等待时间。我们的研究表明,缩短接受和合并之间的时间有可能将Phabricator代码审查速度提高29- 63%。小的代码更改和由具有大量先前接受的代码评审的作者所做的更改有更高的机会被立即接受,而无需代码评审迭代。我们的分析表明,从手动切换到自动合并可以帮助提高代码速度。

英文摘要:

Increasing code velocity (or the speed with which code changes are reviewed and merged) is integral to speeding up development and contributes to the work satisfaction of engineers. While factors affecting code change acceptance have been investigated in the past, solutions to decrease the code review lifetime are less understood. This study investigates the code review process to quantify delays and investigate opportunities to potentially increase code velocity. We study the temporal characteristics of half a million code reviews hosted on Gerrit and Phabricator, starting from the first response, to a decision to accept or reject the changes, and until the changes are merged into a target branch. We identified two types of time delays: (a) the wait time from the proposal of code changes until first response, and (b) the wait time between acceptance and merging. Our study indicates that reducing the time between acceptance and merging has the potential to speed up Phabricator code reviews by 29-63%. Small code changes and changes made by authors with a large number of previously accepted code reviews have a higher chance of being immediately accepted, without code review iterations. Our analysis suggests that switching from manual to automatic merges can help increase code velocity.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑