I saw a tool which can tell you if you have design problem in your project and I'm wondering if there is a tool which can tell you dynamically if there are some concurrency problems in your project.
+1
A:
Chess from MS Research is great (http://research.microsoft.com/en-us/projects/chess/) It detects Concurrency Bugs with the help of Unittests and important: they are reproducable with chess.
Martin Moser
2009-03-27 13:01:22
This is a great tool, but I was searching after something which tells you dynamically that your code is prone to deadlocks. For example if you have an escaped object you should get a warning.
Ionel Bratianu
2009-03-27 14:00:20
A:
I think you will find that detecting this type of thing by static code analysis is basically the Halting Problem in disguise and is thus undecidable in the general case. Such a tool almost certainly doesn't exist.
The closest thing to a proving tool that does exist is to model the computation as 'Communicating Sequential Processes', which can be subjected to formal mathematical reasoning. However, this doesn't allow you to produce a tool that can take an arbitrary program in an arbitrary language and compute a proof for it.
ConcernedOfTunbridgeWells
2009-07-06 16:22:37