Are there any tools that can help find race conditions when testing multi-threaded .net code? I\'m looking for something with similar capabilities to IBM\'s ConTest tool for Jav
This announcement from Microsoft Research sounds like they have a tool that does exactly what I want. Unfortunately there's no .net version yet, but there is one planned. To quote the site:
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.