skip to main content
10.1145/2393596.2393648acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

Assessing the value of branches with what-if analysis

Published:11 November 2012Publication History

ABSTRACT

Branches within source code management systems (SCMs) allow a software project to divide work among its teams for concurrent development by isolating changes. However, this benefit comes with several costs: increased time required for changes to move through the system and pain and error potential when integrating changes across branches. In this paper, we present the results of a survey to characterize how developers use branches in a large industrial project and common problems that they face. One of the major problems mentioned was the long delay that it takes changes to move from one team to another, which is often caused by having too many branches (branchmania). To monitor branch health, we introduce a novel what-if analysis to assess alternative branch structures with respect to two properties, isolation and liveness. We demonstrate with several scenarios how our what-if analysis can support branch decisions. By removing high-cost-low-benefit branches in Windows based on our what-if analysis, changes would each have saved 8.9 days of delay and only introduced 0.04 additional conflicts on average.

References

  1. Perry, D., Siy, H., and Votta, L. Parallel changes in large-scale software development: an observational case study. ACM Transactions on Software Engineering and Methodology (TOSEM), 10 (2001), 308--337. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Zacchiroli, Z. VCS usage for Debian source packages. http://upsilon.cc/~zack/stuff/vcs-usage/.Google ScholarGoogle Scholar
  3. Appleton, B., Berczuk, S., Cabrera, R., and Orenstein, R. Streamed Lines: Branching Patterns for Parallel Software Development. In The Pattern Languages of Programs Conference (1998).Google ScholarGoogle Scholar
  4. Berczuk, S. P., Appleton, B., and Brown, K. Software Configuration Management Patterns: Effective Teamwork, Practical Integration. Addison-Wesley Professional, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Aiello, R. and Sachs, L. Configuration Management Best Practices: Practical Methods that Work in the Real World. Addison-Wesley Professional, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Wingerd, L. and Seiwald, C. High-level Best Practices in Software Configuration Management. White Paper, Perforce Software, 1996. http://www.perforce.com/perforce/papers/bestpractices.html.Google ScholarGoogle Scholar
  7. Kitchenham, B. A. and Pfleeger, S. L. Personal Opinion Surveys. In Shull, F. et al., eds., Guide to Advanced Empirical Software Engineering. Springer, 2007.Google ScholarGoogle Scholar
  8. Tyagi, P. K. The Effects of Appeals, Anonymity, and Feedback on Mail Survey Response Patterns from Salespeople. Journal of The Academy of Marketing Science (1989).Google ScholarGoogle Scholar
  9. Punter, T., Ciolkowski, M., Freimut, B. G., and John, I. Conducting on-line surveys in software engineering. In Proc. of International Symposium on Empirical Software Engineering (ISESE '03) (2003), 80--88. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Melanchthon, D. and Scheer, O. Grossbaustselle. Making of Windows 7. c't Magazine, 23 (2009), 80--86.Google ScholarGoogle Scholar
  11. Bird, C., Zimmermann, T., and Teterev, A. A Theory of Branches as Goals and Virtual Teams. In International Workshop on Cooperative and Human Aspects of Software Engineering (2011). Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Bird, C. and Zimmermann, T. Appendix to Assessing the Value of Branches with What-if Analysis. Technical Report MSR-TR-2012-33, Microsoft Research, 2012.. http://research.microsoft.com/apps/pubs/?id=161385.Google ScholarGoogle Scholar
  13. Zeller, A., Zimmermann, T., and Bird, C. Failure is a Four-Letter Word: A Parody in Empirical Research. In Proceedings of the 7th International Conference on Predictive Models in Software Engineering (PROMISE 2011) (2011). Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Dowdy, S., Wearden, S., and Chilko, D. Statistics for research. John Wiley & Sons, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  15. Singer, J. and Vinson, N. G. Ethical issues in empirical studies of software engineering. IEEE Trans. Software Eng., 28, 12 (2002), 1171--1180. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Jørgensen, M. and Grimstad, S. Software Development Estimation Biases: The Role of Interdependence. IEEE Transactions on Software Engineering, Preprints (April 2011).Google ScholarGoogle Scholar
  17. Basili, V. R., Shull, F., and Lanubile, F. Building knowledge through families of experiments. IEEE Trans. Software Eng., 25, 4 (1999), 456--173. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Bird, C., Rigby, P. C., Barr, E. T., Hamilton, D. J., Germán, D. M., and Devanbu, P. T. The promises and perils of mining git. In MSR '09: Proceedings of the 6th International Working Conference on Mining Software Repositories (2009), 1--10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Premraj, R., Tang, A., Linssen, N., Geraats, H., and Vliet, H.v. To branch or not to branch. In ICSSP '11: Proceedings of the International Conference on Software and Systems Process (2011), 81--90. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Barr, E., Bird, C., Rigby, P., Hindle, A., German, D., and Devanbu, P. Cohesive and Isolated Development with Branches. In International Conference on Fundamental Approaches to Software Engineering (2012). Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Flyvbjerg, B. Five misunderstandings about case-study research. Qualitative inquiry, 12, 2 (2006), 219--245.Google ScholarGoogle Scholar
  22. Kuper, A. and Kuper, J. The Social Science Encyclopedia. Routledge, 1985.Google ScholarGoogle Scholar
  23. Müller, M. and Pfahl, D. Simulation Methods. In Shull, F. et al., eds., Guide to Advanced Empirical Software Engineering. Springer, 2007.Google ScholarGoogle Scholar
  24. Zimmermann, T. Mining Workspace Updates in CVS. In MSR '07: Proceedings of the Fourth International Workshop on Mining Software Repositories (2007), 11. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Brun, Y., Holmes, R., Ernst, M. D., and Notkin, D. Proactive detection of collaboration conflicts. In ESEC/FSE '11: Proceedings of he European Software Engineering Conference and the Symposium on the Foundations of Software Engineering (2011). Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Phillips, S., Sillito, J., and Walker, R. Branching and Merging: An Investigation into Current Version Control Practices. In CHASE '11: Proceedings of the Workshop on Cooperative and Human Aspects of Software Engineering (2011). Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Tarvo, A., Zimmermann, T., and Czerwonka, J. An Integration Resolution Algorithm for Mining Multiple Branches in Version Control Systems. In ICSM '11: Proceedings of the 27th IEEE International Conference on Software Maintenance (2011). Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Sarma, A. Palantir: enhancing configuration management systems with workspace awareness to detect and resolve emerging conflicts. Doctoral Dissertation, University of California, Irvine. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Sarma, A., Noroozi, Z., and van der Hoek, A. Palantír: Raising Awareness among Configuration Management Workspaces. In ICSE '03: Proceedings of the 25th International Conference on Software Engineering (2003), 444--454. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Sarma, S., Redmiles, D., and van der Hoek, A. Empirical evidence of the benefits of workspace awareness in software configuration management. In SIGSOFT '08/FSE-16: Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering (2008), 113--123. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Biehl, J. T., Czerwinski, M., Smith, G., and Robertson, G. G. FASTDash: a visual dashboard for fostering awareness in software teams. In CHI '07: Proceedings of the 2007 Conference on Human Factors in Computing Systems (2007), 1313--1322. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Dewan, P. and Hegde, R. Semi-Synchronous Conflict Detection and Resolution in Asynchronous Software Development. In ECSCW '07: Proceedings of the Tenth European Conference on Computer Supported Cooperative Work (2007), 159--178.Google ScholarGoogle Scholar
  33. Guimarães, M. L. and Rito-Silva, A. Towards real-time integration. In CHASE '10: Proceedings of the 2010 ICSE Workshop on Cooperative and Human Aspects of Software Engineering (2010), 56--63. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Assessing the value of branches with what-if analysis

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        FSE '12: Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
        November 2012
        494 pages
        ISBN:9781450316149
        DOI:10.1145/2393596

        Copyright © 2012 ACM

        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: 11 November 2012

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate17of128submissions,13%

        Upcoming Conference

        FSE '24

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader