I have a question about my Programmers Stack Exchange post: If mutual exclusion is not implemented, how would we detect a race condition?
I am looking for a reply (preferably by Gnat, who removed the answer) about the reason this answer was removed:
Here is the background:
(1) Even though my answer speaks of a solution developed by our company, the Disclaimer was provided;
(2) The information in the answer provided is going to be very helpful to the audience.
All one needed to do is to follow the links and to see for himself/herself that this work is solid and useful for the community.
Please be so kind to answer why my answer was removed.
Below is my answer that was removed:
If your question is about how to detect race conditions, perhaps the most state of the art solution today, which works with small overhead, and with no false positives, is Race Catcher from Thinking Software, Inc.
Small overhead here implies most often being under 10%, however the overhead is target process algorithm dependent. Race Catcher can, therefore, be used not only at the stages of debug and test, bun also in most production cases - in the field, where the most costly races, that slip the test phase, are happening (see ARM-CM described below).
Race Catcher is a dynamic code analyzer that works directly on bytecode and can be seen as an addition to a JVM. That also means that is applicable not only to Java code, but to applications written in any of ~60 languages compiled to bytecode.
An original service called ARM-CM, Application Reliability Monitoring via Collaborating Machines is based on an obvious fact that 100 agents are less expensive and more reliable than 100 human testers.
DISCLAIMER: I am involved with Thinking Software, Inc.