Crystal helps developers learn about and prevent collaborative conflicts.
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.)
Publications about Crystal and speculative analysis
- 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
Email us with any questions.
Other fun (but free of academic content) videos advertising our work:
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.