Speculative identification of merge conflicts and non-conflicts

Download: PDF.

“Speculative identification of merge conflicts and non-conflicts” by Yuriy Brun, Reid Holmes, Michael D. Ernst, and David Notkin. University of Washington Department of Computer Science and Engineering technical report UW-CSE-10-03-01, (Seattle, WA, USA), Mar. 2010.


Most software is built by multiple people, and a version control system integrates evolving individual contributions into a whole. Every engineer makes decisions about when to incorporate other team members' changes, and when to share changes with other team members. Sometimes, an engineer performs these tasks too early, and in other cases performs them too late. In this paper we address several questions to determine if there are enough situations in practice where an individual could benefit from explicit knowledge about the relationship between their view of the software with respect to other views of the software. In particular, we speculate (in principle) at each moment in time about whether unrecognized conflicts with teammates exist and whether there are unnoticed opportunities for straightforward merging among teammates.

To determine whether there are sufficient potential opportunities — needed to justify the design, implementation, and evaluation of a speculative tool — we analyze existing source code repositories. Across several open-source projects, we compute and report results including how long conflicts persist before they are resolved (a mean of 9.8 days) and how long opportunities for a non-conflicting textual merge persist (a mean of 11 days). In addition, for one of the projects, we compare the persistence of textual conflicts vs. compilation conflicts vs. testing conflicts. Our data show that there is ample opportunity to benefit from speculative version control, justifying a tool design and implementation effort.

Download: PDF.

BibTeX entry:

   author = {Yuriy Brun and Reid Holmes and Michael D. Ernst and David Notkin},
   title = {Speculative identification of merge conflicts and non-conflicts},
   institution = {University of Washington Department of Computer Science
	and Engineering},
   number = {UW-CSE-10-03-01},
   address = {Seattle, WA, USA},
   month = mar,
   year = {2010}

(This webpage was created with bibtex2web.)

Back to Program Analysis Group publications.