Abstract
Branching is often used to help developers work in parallel during distributed software development. Previous studies have examined branch usage in practice. However, most studies perform branch analysis on industrial projects or only a small number of open source software (OSS) systems. There are no broad examinations of how branches are used across OSS communities. Due to the rapidly increasing popularity of collaboration in OSS projects, it is important to gain insights into the practice of branch usage in these communities. In this paper, we performed an empirical study on branch usage for 2,923 projects developed on GitHub. Our work mainly studies the way developers use branches and the effects of branching on the overall productivity of these projects. Our results show that: 1) Most projects use a few branches (<5) during development; 2) Large scale projects tend to use more branches than small scale projects. 3) Branches are mainly used to implement new features, conduct version iteration, and fix bugs. 4) Almost all master branches have been requested by contributors to merge their contributions; 5) There always exists a branch playing a more important role in merging contributions than other branches; 6) Almost all commits of more than 75% branches are included in the master branches; 7) The number of branches used in a project has a positive effect on a project's productivity but the effect size is small, and there is no statistically significantly difference between personal projects and organizational projects.
Original language | English |
---|---|
Title of host publication | Proceedings - 19th IEEE International Conference on Software Quality, Reliability and Security, QRS 2019 |
Editors | Bruce McMillin, David Lo |
Place of Publication | Piscataway NJ USA |
Publisher | IEEE, Institute of Electrical and Electronics Engineers |
Pages | 306-317 |
Number of pages | 12 |
ISBN (Electronic) | 9781728139272 |
ISBN (Print) | 9781728139289 |
DOIs | |
Publication status | Published - 2019 |
Event | IEEE International Conference on Software Quality, Reliability and Security 2019 - Sofia, Bulgaria Duration: 22 Jul 2019 → 26 Jul 2019 Conference number: 19th https://qrs19.techconf.org/ |
Conference
Conference | IEEE International Conference on Software Quality, Reliability and Security 2019 |
---|---|
Abbreviated title | QRS 2019 |
Country/Territory | Bulgaria |
City | Sofia |
Period | 22/07/19 → 26/07/19 |
Internet address |
Keywords
- branch use
- exploratory study
- GitHub