DevLabs: CHESS
About CHESS – Finding and Reproducing Heisenbugs in Concurrent Programs
Latest CHESS release: Major features in the new release of CHESS (v0.1.30610.2, 06/12/2009) include: Data race detection for managed code; ChessBoard, an interactive shell for CHESS that simplifies the typical user interactions with CHESS, such as launching CHESS runs and managing test results; and Refinement checking for comparing the observed concurrent behaviors of a concurrent data type with its observable serial behaviors.
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.
See more DevLabs projects >
Feedback
Give feedback about CHESS in the DevLabs Forums.
CLR 2.0 Memory ModelThis example is from the PLDI 2009 slides. I ported it to C# 3.0 ( VS 2008 ):
public static boolRun()
{
bool flag = false;
int data = 0;
int r... moreSaturday, Feb 6 by Nicholas Butler
CHESS DevLabs Release Coming to a CloseHi CHESS users,The DevLabs release of CHESS is coming to an end soon, as it has just been over a year since we released CHESS on DevLabs. Planning is... moreThursday, Feb 4 by Tom Ball
Assembly image invalidI followed the instruction to run "mchess /repro /break:p deadlock.dll". But I keep getting the following error: Error: Assembly image inval... moreSaturday, Jan 30 by timk10
Problem with spaces in directory namesTom,
I'm a student at the University of Utah working with Ganesh, taking over where Carson left off. I've been working on the samples and noticed tha... moreWednesday, Jan 27 by JoeM
Featured Video
Madan Musuvathi - Getting started with CHESS in Visual Studio 2008