Microsoft CHESS-Concurrency Test Tool

Microsoft CHESS is their innovative automated error finding tool for multi-threaded applications. It’s been a Microsoft Research project for 2 years but they’re now set to let people see it at this year’s PDC.

THe MS Research page for CHESS says:

“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.

I’m not a Developer, but I have done some programming (just a few simple part code generators etc for work as well as a “never saw the light of day” software intranet portal) and I know how annoying errors and bugs can be, especially when you can’t repeat them. I imagine this is even worse when it happens in a huge, multi-threaded application where other people’s time and money are being wasted so CHESS will surely help out a huge amount!

Mary Jo Foley has got extra info here.

2 Replies to “Microsoft CHESS-Concurrency Test Tool”

  1. I am interested in this tool..but I have two questions:

    Why do they call it as CHESS???
    Is there any version for usage of Students ??

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: