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

03/09/2022
by   Gunnar Kudrjavets, et al.
0

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 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.

READ FULL TEXT
research
03/07/2023

Are We Speeding Up or Slowing Down? On Temporal Aspects of Code Velocity

This paper investigates how the duration of various code review periods ...
research
05/10/2023

Suggestion Bot: Analyzing the Impact of Automated Suggested Changes on Code Reviews

Peer code reviews are crucial for maintaining the quality of the code in...
research
03/09/2022

Do Small Code Changes Merge Faster? A Multi-Language Empirical Investigation

Code velocity, or the speed with which code changes are integrated into ...
research
06/11/2022

Is Kernel Code Different From Non-Kernel Code? A Case Study of BSD Family Operating Systems

Code churn and code velocity describe the evolution of a code base. Curr...
research
02/11/2022

Non-Stop Non-Breakable Code Review Services in a Distributed System: Detecting Issues in Real Time

The two most significant bottlenecks in code merging are the build proce...
research
12/07/2019

Accepted or Abandoned? Predicting the Fate of Code Changes

Many mature Open-Source Software (OSS), as well as commercial, organizat...
research
04/19/2020

Code Review in the Classroom

This paper presents a case study to examine the affinity of the code rev...

Please sign up or login with your details

Forgot password? Click here to reset