How the adoption of feature toggles affects branch merges and defects in open-source projects?

07/11/2020
by   Eduardo Smil Prutchi, et al.
0

Context: Branching has been widely adopted in version control to enable collaborative software development. However, the isolation caused by branches may impose challenges on the upcoming merging process. Recently, companies like Google, Microsoft, Facebook, and Spotify, among others, have adopted trunk-based development together with feature toggles. This strategy enables collaboration without the need of isolation through branches, potentially reducing the merging challenges. However, the literature lacks evidence about the benefits and limitations of feature toggles to the collaborative software development. Objective/Method: In this paper, we study the effects of applying feature toggles on 949 open-source projects written in 6 different programming languages. We first identified the moment in which each project adopted feature toggles. Then, we observed whether the adoption implied significant changes in the frequency or complexity of branch merges as well as in the number of defects and the average time to fix them. Results/Conclusion: We could observe a reduction in the average merge effort and an increase in the average total time needed to fix defects after the adoption of feature toggles.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/10/2017

Continuous Integration: The Silver Bullet?

Continuous integration (CI) tools integrate code changes by automaticall...
research
07/14/2019

Predicting Merge Conflicts in Collaborative Software Development

Background. During collaborative software development, developers often ...
research
03/17/2023

TypeScript's Evolution: An Analysis of Feature Adoption Over Time

TypeScript is a quickly evolving superset of JavaScript with active deve...
research
10/22/2018

Monorepos: A Multivocal Literature Review

Monorepos (Monolithic Repositories) are used by large companies, such as...
research
04/07/2022

Backports: Change Types, Challenges and Strategies

Source code repositories allow developers to manage multiple versions (o...
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
10/06/2018

Gendered behavior as a disadvantage in open source software development

Women are severely marginalized in software development, especially in o...

Please sign up or login with your details

Forgot password? Click here to reset