Issue No. 10 - Oct. (2013 vol. 39)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TSE.2013.28
Yuriy Brun , Dept. of Comput. Sci., Univ. of Massachusetts, Amherst, MA, USA
Reid Holmes , David R. Cheriton Sch. of Comput. Sci., Univ. of Waterloo, Waterloo, ON, Canada
Michael D. Ernst , D. Notkin are with the Dept. of Comput. Sci. & Eng., Univ. of Washington, Seattle, WA, USA
David Notkin , D. Notkin are with the Dept. of Comput. Sci. & Eng., Univ. of Washington, Seattle, WA, USA
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.
Crystals, Collaboration, History, Open source software, Control systems, Terminology, Computer science
Y. Brun, R. Holmes, M. D. Ernst and D. Notkin, "Early Detection of Collaboration Conflicts and Risks," in IEEE Transactions on Software Engineering, vol. 39, no. 10, pp. 1358-1375, 2013.