SEIF Project Crystal Receives ACM SIGSOFT Distinguished Paper Award

Published

Each year, Microsoft Research awards competitive grants to computer science academics through the Software Engineering Innovation Foundation (opens in new tab) (SEIF). In the first grant round, conducted in 2010, Professor David Notkin (opens in new tab) and his colleagues at the University of Washington were the recipients of one of the 12 awards for their proposal, “Speculation and Continuous Validation for Software Development,” which resulted in the project, “Crystal: Precise and Unobtrusive Conflict Warnings (opens in new tab).” I’m pleased to announce that the achievements of Notkin and his colleagues are being recognized this month with an ACM SIGSOFT Distinguished Paper Award (opens in new tab). The award will be presented at the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (opens in new tab) (ESEC/FSE) in Szeged, Hungary (September 5–9, 2011). I’d like to share some of this exceptional research with you today.

(From left to right) Reid Holmes, David Notkin, Judith Bishop, Michael Ernst, Yuriy Brun (opens in new tab)

(From left to right) Reid Holmes, David Notkin, Judith Bishop, Michael Ernst, Yuriy Brun

Microsoft Research Blog

Introducing Aurora: The first large-scale foundation model of the atmosphere

Aurora, a new AI foundation model from Microsoft Research, can transform our ability to predict and mitigate extreme weather events and the effects of climate change by enabling faster and more accurate weather forecasts than ever before.

About the Crystal Project

Collaborative development of large software projects can be hampered when conflicts arise because developers have created inconsistent copies of a shared file, Notkin explains. The Crystal approach is designed to help developers identify and resolve inconsistencies early, before those conflicts become severe—and before relevant changes fade from the developers’ memories. The Crystal paper presents three outcomes of the project:

  • By studying open-source systems, the project team determined that inconsistencies or conflicts between copies of a shared file are frequent, persistent, and appear not only as overlapping textual edits, but also as subsequent build and test failures.
  • They classified conflicts by using the novel technique of speculative analysis over version-control operations.
  • They designed Crystal, a publicly available tool that uses speculative analysis to present concrete advice unobtrusively to developers, thereby helping them identify, manage, and prevent file version conflicts.

Notkin’s study spans nine open-source systems totaling 3.4 million lines of code. The conflict data is derived from 550,000 development versions of the system. The complete paper, which goes into great detail on all three points, plus other research that was conducted as part of the project, is available to read online (opens in new tab).

Continuing Excellence

The SEIF grants are just one way through which we continue to strengthen our support for outstanding university software engineering programs. These grants are intended to stimulate research in all aspects of software engineering, with an aim to cultivate interest in Microsoft Research tools and technologies. They also strengthen our ties to the university community.

In fact, one of the postgraduate students who worked on Notkin’s Crystal project, Kıvanç Muşlu, came to work for us as an intern. He was jointly mentored by Christian Bird and Tom Zimmermann of the Research in Software Engineering group (RiSE) (opens in new tab) and me. During his internship, Muşlu explored how Crystal’s principles could be expanded for use in a full industrial context. The testbed was the full Bing development history. The result of his work, a new tool called Beacon, will be deployed to Microsoft product groups in the near future. Like Crystal, Beacon can alert developers when code they are writing will conflict with changes to another branch of the code. By using Microsoft Lync, it can quickly put the developers of the two sections of code in touch so that they can resolve the conflict. The challenge was to make the system work in real time with the enormous number of files and developers involved in a system like Bing. We look forward to seeing more from Muşlu in the future.

Judith Bishop (opens in new tab), Director of Computer Science, Microsoft Research Connections

Learn More