Repeated Builds During Code Review: An Empirical Study of the OpenStack Community

08/19/2023
by   Rungroj Maipradit, et al.
0

Code review is a popular practice where developers critique each others' changes. Since automated builds can identify low-level issues (e.g., syntactic errors, regression bugs), it is not uncommon for software organizations to incorporate automated builds in the code review process. In such code review deployment scenarios, submitted change sets must be approved for integration by both peer code reviewers and automated build bots. Since automated builds may produce an unreliable signal of the status of a change set (e.g., due to “flaky” or non-deterministic execution behaviour), code review tools, such as Gerrit, allow developers to request a “recheck”, which repeats the build process without updating the change set. We conjecture that an unconstrained recheck command will waste time and resources if it is not applied judiciously. To explore how the recheck command is applied in a practical setting, in this paper, we conduct an empirical study of 66,932 code reviews from the OpenStack community. We quantitatively analyze (i) how often build failures are rechecked; (ii) the extent to which invoking recheck changes build failure outcomes; and (iii) how much waste is generated by invoking recheck. We observe that (i) 55 code reviews invoke the recheck command after a failing build is reported; (ii) invoking the recheck command only changes the outcome of a failing build in 42 of the cases; and (iii) invoking the recheck command increases review waiting time by an average of 2,200 enough compute resources to compete with the oldest land living animal on earth.

READ FULL TEXT

page 1

page 3

research
07/05/2018

Impact of Continuous Integration on Code Reviews

Peer code review and continuous integration often interleave with each o...
research
03/26/2020

Empirical Study of Restarted and Flaky Builds on Travis CI

Continuous Integration (CI) is a development practice where developers f...
research
01/22/2019

Towards Predicting the Impact of Software Changes on Building Activities

The pervasive adoption of Continuous Integration practices -- both in in...
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
05/28/2018

The effects of change-decomposition on code review - A Controlled Experiment

Background: Code review is a cognitively demanding and time-consuming pr...
research
05/14/2020

Identifying Bugs in Make and JVM-Oriented Builds

Incremental and parallel builds are crucial features of modern build sys...
research
12/19/2017

Built to Last or Built Too Fast? Evaluating Prediction Models for Build Times

Automated builds are integral to the Continuous Integration (CI) softwar...

Please sign up or login with your details

Forgot password? Click here to reset