skip to main content
10.1145/1987875.1987890acmotherconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

To branch or not to branch?

Published: 21 May 2011 Publication History

Abstract

The study of Software Configuration Management (SCM) has so far focused on the use of tools, SCM models, strategies, patterns or best practices. There are few industry studies on how an organization actually practices file branching and merging. In this empirical study at Océ, we have observed that some developers create branches freely without regards to their consequences on merging. This contradicts recommended best practices and SCM processes. So we investigate if there are hidden costs in propagating or merging changes at Océ. The investigation led us to understand that branching and merging can be done freely under certain circumstances to provide development concurrency. However, some files cannot be branched freely and it may be better to use recommended practices to edit them. Some roles were also noted to be more affected by branching of files.

References

[1]
B. Appleton, S. Berczuk, R. Cabrera, and R. Orenstein. Streamed lines: Branching patterns for parallel software development. In Pattern Languages of Programs, 1998.
[2]
U. Asklund and L. Bendix. A study of configuration management in open source software projects. IEE Procs. Software, 149(1):40--46, 2002.
[3]
S. Berczuk and B. Appleton. Software Configuration Management Patterns: Effective Teamwork, Practical Integration. Addison-Wesley, 2002.
[4]
C. Bird, P. Rigby, E. Barr, D. Hamilton, D. German, and P. Devanbu. The promises and perils of mining git. In Int. Working Conf. on Mining Software Repositories, pages 1--10. IEEE, 2009.
[5]
J. Buffenbarger and K. Gruell. A branching/merging strategy for parallel software development. In Software Configuration Management, pages 86--99, 1999.
[6]
W. S. Cleveland and S. J. Devlin. Locally weighted regression: An approach to regression analysis by local fitting. J. of the American Statistical Association, 83(403):596--610, 1988.
[7]
J. Estublier. Software configuration management: a roadmap. In ICSE - Future of SE Track, pages 279--289, 2000.
[8]
J. Estublier, D. Leblang, A. Hoek, R. Conradi, G. Clemm, W. Tichy, and D. Wiborg-Weber. Impact of software engineering research on the practice of software configuration management. TOESM, 14(4):430, 2005.
[9]
T. Mens. A state-of-the-art survey on software merging. TSE, 28(5):449--462, 2002.
[10]
N. Pala Er and C. Erbaş. Aligning software configuration management with governance structures. In Workshop on Software Development Governance, pages 1--8. ACM, 2010.
[11]
D. E. Perry, H. P. Siy, and L. G. Votta. Parallel changes in large-scale software development: an observational case study. TOESM, 10(3):308, 2001.
[12]
D. Smite, C. Wohlin, T. Gorschek, and R. Feldt. Empirical evidence in global software engineering: A systematic review. Empirical Software Engineering, (1):91--118, Feb.
[13]
G. L. Thione and D. E. Perry. Parallel changes: Detecting semantic interferences. volume 1, pages 47--56, 2005.
[14]
C. Walrad and D. Strom. The importance of branching models in SCM. IEEE Computer, 35(9):31--38, 2002.
[15]
L. Wingerd and C. Seiwald. High-level best practices in software configuration management. System Configuration Management, pages 57--66, 1998.

Cited By

View all
  • (2023)User Perspectives on Branching in Computer-Aided DesignProceedings of the ACM on Human-Computer Interaction10.1145/36102207:CSCW2(1-30)Online publication date: 4-Oct-2023
  • (2023)Symbolic Execution to Detect Semantic Merge Conflicts2023 IEEE 23rd International Working Conference on Source Code Analysis and Manipulation (SCAM)10.1109/SCAM59687.2023.00028(186-197)Online publication date: 2-Oct-2023
  • (2021)Factors that Affect Merge Conflicts: A Software Developers’ PerspectiveProceedings of the XXXV Brazilian Symposium on Software Engineering10.1145/3474624.3474641(233-242)Online publication date: 27-Sep-2021
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
ICSSP '11: Proceedings of the 2011 International Conference on Software and Systems Process
May 2011
256 pages
ISBN:9781450307307
DOI:10.1145/1987875
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 21 May 2011

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. agile development
  2. branching
  3. merging
  4. software configuration management practice

Qualifiers

  • Research-article

Conference

ICSSP '11

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)18
  • Downloads (Last 6 weeks)1
Reflects downloads up to 05 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2023)User Perspectives on Branching in Computer-Aided DesignProceedings of the ACM on Human-Computer Interaction10.1145/36102207:CSCW2(1-30)Online publication date: 4-Oct-2023
  • (2023)Symbolic Execution to Detect Semantic Merge Conflicts2023 IEEE 23rd International Working Conference on Source Code Analysis and Manipulation (SCAM)10.1109/SCAM59687.2023.00028(186-197)Online publication date: 2-Oct-2023
  • (2021)Factors that Affect Merge Conflicts: A Software Developers’ PerspectiveProceedings of the XXXV Brazilian Symposium on Software Engineering10.1145/3474624.3474641(233-242)Online publication date: 27-Sep-2021
  • (2019)Branch Use in Practice: A Large-Scale Empirical Study of 2,923 Projects on GitHub2019 IEEE 19th International Conference on Software Quality, Reliability and Security (QRS)10.1109/QRS.2019.00047(306-317)Online publication date: Jul-2019
  • (2016)GitWaterFlow: a successful branching model and tooling, for achieving continuous delivery with multiple version branchesProceedings of the 4th International Workshop on Release Engineering10.1145/2993274.2993277(17-20)Online publication date: 18-Nov-2016
  • (2016)Recovering Commit Branch of Origin from GitHub Repositories2016 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME.2016.39(290-300)Online publication date: Oct-2016
  • (2012)Assessing the value of branches with what-if analysisProceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering10.1145/2393596.2393648(1-11)Online publication date: 11-Nov-2012
  • (2012)The effect of branching strategies on software qualityProceedings of the ACM-IEEE international symposium on Empirical software engineering and measurement10.1145/2372251.2372305(301-310)Online publication date: 19-Sep-2012

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media