Zing is a software model checking project at Microsoft Research. Our goal is to build a flexible and scalable systematic state space exploration infrastructure for software. This infrastructure includes novel algorithms, and a modular software architecture, to push the frontier on exploring large state spaces of software. We believe that such an infrastructure can be used for verifying and finding bugs in software at various levels: high-level protocol descriptions, work-flow specifications, web services, device drivers, and protocols in the core of the operating system. Downloads
Zing model checker for VS.NET 2005 (for non-commercial research use only, see EULA for details). This version of Zing has a dependency on Visual Studio .NET 2005, which is available to students and faculty in universities via the academic licensing program .
Zing model checker for VS.NET 2003 (for non-commercial research use only, see EULA for details).Zing has a dependency on Visual Studio .NET 2003, which is available to students and faculty in universities via the academic licensing program . Zing language specification Overview, Examples, and reference manual for the Zing language (Word, PDF) Zing user manual User guide for getting started with the Zing model checker (Word, PDF) Papers
The following two papers give a broad overview of Zing.
Zing uses transaction-based reduction. In transaction based reduction (as in other forms of partial order reduction), we need to avoid delaying scheduling a thread indefinitely, if we want the reduction to be sound. The following paper presents a new technique called Commit Point Completion to solve this problem.
Zing uses procedure summaries to do modular analysis. One of the novel aspects of Zing is its ability to use procedure summaries both in the presence of pointers and concurrency. The following two papers describe these techniques.
Zing uses heap canonicalization to do symmetry-reduction on the heap. We have invented a new method to canonicalize the heap incrementally, as the model checker makes transitions from states. The following paper gives details of this technique.
Zing uses a new theory of stuck-free conformance to do compositional checking of message passing programs. The following papers describe this theory.
Presentations
People
Contact Zing
Please send inquiries about the Zing project to zing at microsoft dot com |