|
|
 CHESS
CHESS is an automated tool for finding errors in multithreaded software by systematic exploration of thread schedules.
It finds errors, such as data-races, deadlocks, hangs, and data-corruption induced access violations,
that are extremely hard to find with current testing tools. Once CHESS locates an error,
it provides a fully repeatable execution of the program leading to the error, thus greatly aiding the debugging process.
In addition, CHESS provides a valuable and novel notion of test coverage suitable for multithreaded programs.
CHESS can use existing concurrent test cases and is therefore easy to deploy.
Both developers and testers should find CHESS useful.
The CHESS architecture is described in this technical report.
- You can download CHESS
for Win32 (license for academic use).
- CHESS for Win32 and .NET will be available soon (license for commercial use) via Microsoft's DevLabs.
- M. Musuvathi, S. Qadeer, T. Ball, G. Basler, P. A. Nainar, I. Neamtiu.
Finding and Reproducing Heisenbugs in Concurrent Programs To appear in OSDI '08.
- S. Burchkardt and M. Musuvathi
Effective Program Verification for Relaxed Memory Models.
In 20th International Conference on Computer Aided Verification (CAV), 2008.
- 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.
- M. Musuvathi and S. Qadeer.
Fair Stateless Model Checking.
In ACM Conference on Programming Language Design and Implementation, 2008.
-
M. Musuvathi and S. Qadeer.
Iterative Context Bounding for Systematic Testing of Multithreaded Programs.
In ACM Conference on Programming Language Design and Implementation, 2007.
Summer interns 2008:
Summer interns 2007:
Summer interns 2006:
|