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

Proactive detection of collaboration conflicts

Published:09 September 2011Publication History

ABSTRACT

Collaborative development can be hampered when conflicts arise because developers have inconsistent copies of a shared project. We present an approach to help developers identify and resolve conflicts early, before those conflicts become severe and before relevant changes fade away in the developers' memories. This paper presents three results.

First, a study of open-source systems establishes that conflicts are frequent, persistent, and appear not only as overlapping textual edits but also as subsequent build and test failures. The study spans nine open-source systems totaling 3.4 million lines of code; our conflict data is derived from 550,000 development versions of the systems.

Second, using previously-unexploited information, we precisely diagnose important classes of conflicts using the novel technique of speculative analysis over version control operations.

Third, we describe the design of Crystal, a publicly-available tool that uses speculative analysis to make concrete advice unobtrusively available to developers, helping them identify, manage, and prevent conflicts.

References

  1. Ban Al-Ani, Erik Trainer, Roger Ripley, Anita Sarma, André van der Hoek, and David Redmiles. Continuous coordination within the context of cooperative and human aspects of software engineering. In CHASE, pages 1--4, Leipzig, Germany, May 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Thomas Ball, Jung-Min Kim, Adam A. Porter, and Harvey P. Siy. If your version control system could talk... In PMESSE, Boston, MA, USA, May 1997.Google ScholarGoogle Scholar
  3. Jacob T. Biehl, Mary Czerwinski, Greg Smith, and George G. Robertson. FASTDash: A visual dashboard for fostering awareness in software teams. In CHI, pages 1313--1322, San Jose, CA, USA, Apr. 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Yuriy Brun, Reid Holmes, Michael D. Ernst, and David Notkin. Speculative analysis: Exploring future states of software. In FoSER, pages 59--63, Santa Fe, NM, USA, Nov. 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Yuriy Brun, Reid Holmes, Michael D. Ernst, and David Notkin. Crystal: Precise and unobtrusive conflict warnings. In ESEC FSE Tool Demo, Szeged, Hungary, Sep. 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Marcelo Cataldo, Patrick A. Wagstrom, James D. Herbsleb, and Kathleen M. Carley. Identification of coordination requirements: Implications for the design of collaboration and awareness tools. In CSCW, pages 353--362, Banff, AB, Canada, Nov. 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Reidar Conradi and Bernhard Westfechtel. Version models for software configuration management. ACM Comput. Surv., 30(2):232--282, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Cleidson R. B. de Souza, David Redmiles, and Paul Dourish. "Breaking the code", Moving between private and public work in collaborative software development. In GROUP, pages 105--114, Sanibel Island, FL, USA, Nov. 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Prasun Dewan. Dimensions of tools for detecting software conflicts. In RSSE, pages 21--25, Atlanta, GA, USA, Nov. 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Prasun Dewan and Rajesh Hegde. Semi-synchronous conflict detection and resolution in asynchronous software development. In ECSCW, pages 159--178, Limerick, Ireland, Sep. 2007.Google ScholarGoogle ScholarCross RefCross Ref
  11. Jacky Estublier and Sergio Garcia. Process model and awareness in SCM. In SCM, pages 59--74, Oxford, England, UK, Sep. 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. David Samuel Glasser. Test factoring with amock: Generating readable unit tests from system tests. Master's thesis, MIT Dept. of EECS, Aug. 21, 2007.Google ScholarGoogle Scholar
  13. Rebecca E. Grinter. Using a configuration management tool to coordinate software development. In CoOCS, pages 168--177, Milpitas, CA, USA, Aug. 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Mário Luís Guimarães and António Rito-Silva. Towards real-time integration. In CHASE, pages 56--63, Cape Town, South Africa, May 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Lile Hattori and Michele Lanza. Syde: A tool for collaborative software development. In ICSE Tool Demo, pages 235--238, Cape Town, South Africa, May 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Peter Henderson and Mark Weiser. Continuous execution: The VisiProg environment. In ICSE, pages 68--74, London, England, UK, Aug. 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Susan Horwitz, Jan Prins, and Thomas Reps. Integrating noninterfering versions of programs. ACM TOPLAS, 11:345--387, July 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. R. R. Karinthi and M. Weiser. Incremental re-execution of programs. In SIIT, pages 38--44, St. Paul, MN, USA, June 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Benjamin Livshits and Thomas Zimmermann. DynaMine: Finding common error patterns by mining software revision histories. In ESEC FSE, pages 296--305, Lisbon, Portugal, Sep. 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Tom Mens. A state-of-the-art survey on software merging. IEEE TSE, 28(5):449--462, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Nachiappan Nagappan, Thomas Ball, and Andreas Zeller. Mining metrics to predict component failures. In ICSE, pages 452--461, Shanghai, China, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Bryan O'Sullivan. Making sense of revision-control systems. Queue, 7(7):30--40, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Dewayne E. Perry, Harvey P. Siy, and Lawrence G. Votta. Parallel changes in large-scale software development: an observational case study. ACM TOSEM, 10:308--337, July 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. David Saff and Michael D. Ernst. Reducing wasted development time via continuous testing. In ISSRE, pages 281--292, Denver, CO, USA, Nov. 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. David Saff and Michael D. Ernst. Continuous testing in Eclipse. In 2nd Eclipse Technology Exchange Workshop (eTX), Barcelona, Spain, Mar. 2004.Google ScholarGoogle ScholarCross RefCross Ref
  26. David Saff and Michael D. Ernst. An experimental evaluation of continuous testing during development. In ISSTA, pages 76--85, Boston, MA, USA, July 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Anita Sarma. A survey of collaborative tools in software development. Technical Report UCI-ISR-05-3, University of California, Irvine, Institute for Software Research, 2005.Google ScholarGoogle Scholar
  28. Anita Sarma, Gerald Bortis, and André van der Hoek. Towards supporting awareness of indirect conflicts across software configuration management workspaces. In ASE, pages 94--103, Atlanta, GA, USA, Nov. 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Anita Sarma, Zahra Noroozi, and André van der Hoek. Palantír: raising awareness among configuration management workspaces. In ICSE, pages 444--454, Portland, OR, May 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Anita Sarma, David Redmiles, and André van der Hoek. Empirical evidence of the benefits of workspace awareness in software configuration management. In FSE, pages 113--123, Atlanta, GA, USA, Nov. 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Chuck Walrad and Darrel Strom. The importance of branching models in SCM. Computer, 35(9):31--38, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Chuck Walrad and Darrel Strom. The importance of branching models in SCM. Computer, 35(9):31--38, Sep. 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Jan Wloka, Barbara Ryder, Frank Tip, and Xiaoxia Ren. Safe-commit analysis to facilitate team software development. In ICSE, pages 507--517, Vancouver, BC, Canada, May 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Thomas Zimmermann. Mining workspace updates in CVS. In MSR, Minneapolis, MN, USA, May 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Thomas Zimmermann, Peter Weißgerber, Stephan Diehl, and Andreas Zeller. Mining version histories to guide software changes. In ICSE, pages 563--572, Edinburgh, Scotland, UK, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Proactive detection of collaboration conflicts

      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
        ESEC/FSE '11: Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
        September 2011
        548 pages
        ISBN:9781450304436
        DOI:10.1145/2025113

        Copyright © 2011 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: 9 September 2011

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate17of128submissions,13%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader