When developers collaborate, they often run into conflicts. Crystal runs in the background and informs developers whenever developers' changes conflict. Crystal can detect textual, build, and testing conflicts. (See the Crystal user manual.)
- Speculative analysis within collaborative development allows software engineers to learn about and prevent conflicts. In this paper, we evaluate speculative conflict detection on nine large, open-source projects and present Crystal.
Y. Brun, R. Holmes, M. D. Ernst, and D. Notkin (2011), "Proactive Detection of Collaboration Conflicts", In proceedings of ESEC/FSE 2011. ACM SIGSOFT Distinguished Paper Award.
- In this tool paper, we discuss Crystal's precision and unobtrusiveness.
Y. Brun, R. Holmes, M. D. Ernst, and D. Notkin (2011), "Crystal: Precise and Unobtrusive Conflict Warnings", In proceedings of ESEC/FSE 2011 tool demonstration track.
- In this paper, we introduce speculative analysis, which gives developers feedback on the outcomes of actions they have not yet performed and allows the developers to make well-informed decisions.
Y. Brun, R. Holmes, M. D. Ernst, and D. Notkin (2010), "Speculative Analysis: Exploring Future States of Software", In proceedings of FoSER 2010, pp. 59-63. doi: 10.1145/1882362.1882375
Crystal is designed and developed by Yuriy Brun, Haochen Wei, Reid Holmes, Michael D. Ernst, and David Notkin.
Email us with any questions.
Click here to watch the presentation describing Crystal and its underlying technique (presented at ESEC/FSE 2011).
This work is supported by Microsoft Research through the Software Engineering Innovation Foundation grant, by the National Science Foundation under Grant# 0963757 and Grant #0937060 to the Computing Research Association for the CIFellows Project, by the National Science and Engineering Research Council Postdoctoral Fellowship, and by IBM through a John Backus Award.