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

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

Code velocity, or the speed with which code changes are integrated into a production environment, plays a crucial role in Continuous Integration and Continuous Deployment. Many studies report factors influencing code velocity. However, solutions to increase code velocity are unclear. Meanwhile, the industry continues to issue guidelines on "ideal" code change size, believing it increases code velocity despite lacking evidence validating the practice. Surprisingly, this fundamental question has not been studied to date. This study investigates the practicality of improving code velocity by optimizing pull request size and composition (ratio of insertions, deletions, and modifications). We start with a hypothesis that a moderate correlation exists between pull request size and time-to-merge. We selected 100 most popular, actively developed projects from 10 programming languages on GitHub. We analyzed our dataset of 845,316 pull requests by size, composition, and context to explore its relationship to time-to-merge - a proxy to measure code velocity. Our study shows that pull request size and composition do not relate to time-to-merge. Regardless of the contextual factors that can influence pull request size or composition (e.g., programming language), the observation holds. Pull request data from two other platforms: Gerrit and Phabricator (401,790 code reviews) confirms the lack of relationship. This negative result as in "... eliminate useless hypotheses ..." challenges a widespread belief by showing that small code changes do not merge faster to increase code velocity.

READ FULL TEXT

page 1

page 2

page 3

page 4

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
03/09/2022

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

Increasing code velocity (or the speed with which code changes are revie...
research
02/23/2018

(No) Influence of Continuous Integration on the Commit Activity in GitHub Projects

A core goal of Continuous Integration (CI) is to make small incremental ...
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
05/28/2021

Pull Request Decision Explained: An Empirical Overview

Context: Pull-based development model is widely used in open source, lea...
research
05/09/2023

How is the speed of code review affected by activity, usage and code quality?

This paper investigates how the speed of code review is affected by the ...
research
11/22/2018

Uma técnica para a quantificação do esforço de merge

Developers that use version control systems can work in parallel with ot...

Please sign up or login with your details

Forgot password? Click here to reset