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.