I am implementing a concurrent .NET data structures in c# (like ConcurrentDictionary, BlockcingCollection etc.). It's not about just not forgetting to lock an object when accessing from different threads. It requires sophisticated locking strategies to maximize parallel execution time. 
I know there is a tool, a kind of framework for systematic concurrency testing for .NET named CHESS.
Question: Is there also a tool which will find concurrency / threading issues through static code analyses? Something like CheckThread which is for java.
 
     
     
    