CHESS only places schedule points at synchronization points (calls to System.Threading API, volatiles, interlocked increments). So you need data race detection to uncover more bugs. CHESS now has an option /preemptaccesses that places schedule points before
every read/write. However, as currently implemented, this has high overhead.
On behalf of the CHESS team, I am very glad to announce that CHESS is available for download at
http://msdn.microsoft.com/en-us/devlabs/cc950526.aspx. CHESS is a tool from Microsoft Research for finding and reproducing concurrency errors. Please download the bits and let us know what
you think in our
forum. Also, subscribe to our blog for more details and tidbits.