Proactive detection of collaboration conflicts
by Yuriy Brun, Reid Holmes, Michael D. Ernst, David Notkin
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.

Citation:
Yuriy Brun, Reid Holmes, Michael D. Ernst, and David Notkin, Proactive detection of collaboration conflicts, in Proceedings of the 8th Joint Meeting of the European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE), 2011, pp. 168–178.
Related:
ACM SIGSOFT Distinguished Paper. A previous version appeared as University of Washington technical report UW-CSE-10-03-01.
Bibtex:
@inproceedings{Brun11fse,
  author = {Yuriy Brun and Reid Holmes and Michael D. Ernst and David Notkin},
  title =
  {\href{http://people.cs.umass.edu/brun/pubs/pubs/Brun11fse.pdf}{Proactive
  detection of collaboration conflicts}},
  booktitle = {Proceedings of the 8th Joint Meeting of the European Software
  Engineering Conference and ACM SIGSOFT Symposium on the Foundations of
  Software Engineering (ESEC/FSE)},
  venue = {ESEC/FSE},
  month = {September},
  year = {2011},
  date = {5--9},
  pages = {168--178},
  address = {Szeged, Hungary},
  doi = {10.1145/2025113.2025139},
  accept = {$\frac{34}{203} \approx 17\%$},

  note = {ACM SIGSOFT Distinguished Paper Award. A previous version appeared
  as University of Washington technical report UW-CSE-10-03-01.
  \href{http://dx.doi.org/10.1145/2025113.2025139}{DOI:
  10.1145/2025113.2025139}},

  previous = {<span style="color:red">ACM SIGSOFT Distinguished Paper</span>. A
  previous version appeared as University of Washington technical report
  UW-CSE-10-03-01.},

  abstract = {<p>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.</p>

  <p>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.</p>

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

  <p>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.</p>},

  fundedBy = {NSF CNS-0937060 to the CRA for the CIFellows Project, 
  NSF CCF-0963757, NSERC Postdoctoral Fellowship,
  Microsoft Research via a SEIF award},
}