CHESS release v0.1.30610.2: Data Race Detection, ChessBoard, Refinement Checking

The CHESS team is happy to announce a new release of CHESS, which includes a whole bunch of new features for concurrency testing of managed code and fixes for bugs reported on the CHESS MSDN forum (see the Channel 9 movie). Major features in this release include: 1. Data race detection for managed code; 2. ChessBoard,…


Stress vs. CHESS

Hey there… it’s time for another post. My name is Sebastian Burckhardt, I am a member of the CHESS team, and I want to tell you about some experiments I ran today. The question that interests me here is how does CHESS compare to stress testing ? First, let me clarify the difference between the…


CHESS Release on MSDN DevLabs

Hi. This is Tom Ball. I am a Principal Researcher at Microsoft Research, where I manage the Software Reliability Research group in the Research in Software Engineering area. On behalf of the CHESS team, I am happy to announce our first DevLabs pre-release of the CHESS tools (build 0.1.30106.5) for finding subtle concurrency errors in…


The CHESS scheduler – the key to finding concurrency bugs

Hey everyone, I am Madan Musuvathi, the architect of CHESS. In this blog, I will describe the CHESS scheduler, a key component of CHESS. Before I start, if you haven’t seen Tom’s previous post about the CHESS Devlabs release, you should. Download CHESS, play around, and let us know what you think. When CHESS attaches…


Getting the most out of CHESS

Hi, this is Shaz Qadeer from the CHESS team.  If you have visited our blog before, you have probably read our articles about systematic concurrency testing using CHESS, design of the CHESS scheduler, and the advantages of CHESS testing over stress testing.  Hopefully, these articles have convinced you that there is substantial value in using…


Welcome to the CHESS blog

CHESS is a tool from Microsoft Research that helps you better test concurrent programs. You can use CHESS to systematically drive your programs into different thread interleavings, flushing out a lot of bugs in this process. Once a bug is found, CHESS can reproduce the interleaving for tremendously improving the debugging experience.