Early Detection of Collaboration Conflicts and Risks
by Yuriy Brun, Reid Holmes, Michael D. Ernst, David Notkin
Abstract:
Conflicts among developers' inconsistent copies of a shared project arise in collaborative development and can slow progress and decrease quality. Identifying and resolving such conflicts early can help. Identifying situations which may lead to conflicts can prevent some conflicts altogether. By studying nine open-source systems totaling 3.4 million lines of code, we establish that conflicts are frequent, persistent, and appear not only as overlapping textual edits but also as subsequent build and test failures. Motivated by this finding, we develop a speculative analysis technique that uses previously-unexploited information from version control operations to precisely diagnose important classes of conflicts. Then, we design and implement Crystal, a publicly-available tool that helps developers identify, manage, and prevent conflicts. Crystal uses speculative analysis to make concrete advice unobtrusively available to developers.
Citation:
Yuriy Brun, Reid Holmes, Michael D. Ernst, and David Notkin, Early Detection of Collaboration Conflicts and Risks, IEEE Transactions on Software Engineering (TSE), vol. 39, no. 10, October 2013, pp. 1358–1375.
Related:
Extended and revised version of "Proactive detection of collaboration conflicts" in ESEC/FSE 2011.
Bibtex:
@article{Brun13tse,
  author = {Yuriy Brun and Reid Holmes and Michael D. Ernst and David Notkin},
  title =
  {\href{http://people.cs.umass.edu/brun/pubs/pubs/Brun13tse.pdf}{Early
  Detection of Collaboration Conflicts and Risks}},
  journal = {IEEE Transactions on Software Engineering (TSE)},
  venue = {TSE},
  year = {2013},
  volume = {39},
  number = {10},
  month = {October},
  pages = {1358--1375},
  doi = {10.1109/TSE.2013.28},
  issn = {0098-5589},

  note = {\raisebox{-.5ex}{\includegraphics[height=2.5ex]{trophy}}~Recognized
  as a Spotlight Paper. Extended and revised version of~\ref{Brun11fse}.
  \href{https://doi.org/10.1109/TSE.2013.28}{DOI:
  10.1109/TSE.2013.28}},

  previous = {Extended and revised version of "Proactive detection of
  collaboration conflicts" in ESEC/FSE 2011.},

  abstract = {Conflicts among developers' inconsistent copies of a shared
  project arise in collaborative development and can slow progress and decrease
  quality. Identifying and resolving such conflicts early can help. Identifying
  situations which may lead to conflicts can prevent some conflicts altogether.
  By studying nine open-source systems totaling 3.4 million lines of code, we
  establish that conflicts are frequent, persistent, and appear not only as
  overlapping textual edits but also as subsequent build and test failures.
  Motivated by this finding, we develop a speculative analysis technique that
  uses previously-unexploited information from version control operations to
  precisely diagnose important classes of conflicts. Then, we design and
  implement Crystal, a publicly-available tool that helps developers identify,
  manage, and prevent conflicts. Crystal uses speculative analysis to make
  concrete advice unobtrusively available to developers.},

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