Coming Soon - CHESS is a concurrency testing tool for finding and reproducing Heisenbugs in your concurrent programs.
About CHESS – Finding and Reproducing Heisenbugs in Concurrent Programssee all DevLabs projects…
Given a concurrent test, CHESS repeatedly runs the test so that every run takes a different thread interleaving. On finding an error, CHESS reproduces the erroneous interleaving, tremendously improving the debugging experience. CHESS can find assertion violations, deadlocks, livelocks, data-races, and memory-model errors. CHESS includes a visualization tool for viewing thread interleavings for better concurrency debugging.
CHESS works for unmanaged user-mode programs and for managed programs. CHESS is designed to be used by both developers and testers of concurrent programs. Unlike stress-testing, CHESS does not need lots of threads to create interleaving variety. The users get the most benefit from CHESS by providing a test with small number of threads (say, less than 10) exercising a single concurrency scenario.
The coming release of CHESS supports single-process programs. Future releases will support multi-process scenarios.
Requirements
- User Mode: CHESS works for managed and unmanaged user-mode programs.
- Operating System: Windows 2003 or later, 32 bit, x86
- Development Tools: Visual Studio 2010 Team System