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.
There is a new book about C# multithreaded and parallel programming by Packt Publishing – C# 2008 and 2005 threaded programming, http://www.packtpub.com/beginners-guide-for-C-sharp-2008-and-2005-threaded-programming
Very interesting for C# developers trying to tackle multicore programming and concurrent programming to exploit multicore CPUs and multiprocessor systems.
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 ??