CHESS is a tool for finding and reproducing Heisenbugs in concurrent programs. CHESS repeatedly runs a concurrent test ensuring that every run takes a different interleaving. If an interleaving results in an error, CHESS can reproduce the interleaving for improved debugging. CHESS is available for both managed and native programs.
- CHESS open source
- CHESS Tutorial at PLDI 2009 [slides: ppt, pdf]
- Channel 9 video on CHESS
- Read the Dr. Dobb's Journal article on CHESS, listen to Scott Hanselman's interview about CHESS at PDC (go to 28:10), watch the video of the CHESS PDC presentation
- Mary Jo Foley: Non-Microsoft developers to get a peek at CHESS concurrency test tool
- MSDN article on Tools and Techniques to Identify Concurrency Issues
- Sebastian Burckhardt, Chris Dern, Madanlal Musuvathi, Roy Patrick Tan, Line-Up: A Complete and Automatic Linearizability Checker. PLDI 2010 (to appear)
- T. Ball, S. Burckhardt, K. Coons, M. Musuvathi, S. Qadeer, Preemption Sealing for Efficient Concurrency Testing (TACAS 2010)
- M. Musuvathi, S. Qadeer, T. Ball, G. Basler, P. A. Nainar, I. Neamtiu. Finding and Reproducing Heisenbugs in Concurrent Programs. In Operating System Design and Implementation (OSDI), 2008.
- S. Burchkardt and M. Musuvathi Effective Program Verification for Relaxed Memory Models. In 20th International Conference on Computer Aided Verification (CAV), 2008.
- M. Musuvathi and S. Qadeer. Fair Stateless Model Checking. In ACM Conference on Programming Language Design and Implementation (PLDI), 2008.
- M. Musuvathi and S. Qadeer. Iterative Context Bounding for Systematic Testing of Multithreaded Programs. In PLDI 2007.
- T. Ball, S. Burchkardt, M. Musuvathi, and S.Qadeer. First-class Concurrency Debugging and Testing. Position Paper, Workshop on Exploiting Concurrency Efficiently and Correctly, 2008.
- M. Musuvathi, S. Qadeer, and T. Ball. CHESS: A Systematic Testing Tool for Concurrent Software. Microsoft Research Technical Report MSR-TR-2007-149, 2007.
A number of people are experimenting with CHESS in course projects. The links below point to their project summaries. Thanks to these CHESS players for their work! Let us known if you have something to contribute!