Technologies for Analysis of Multithreading Issues 
Company Thinking Software, Inc Runtime Verifications, Inc. VM Lens Google  IBM NASA Ames Research Center Google  Microsoft
Product  Race Catcher RV-Predict VmLens Tsan ConTest Java Pathfinder Thread Weaver Find Bugs Chess
Product Link https://www.thinkingsoftware.com/ https://runtimeverification.com/predict/ http://vmlens.com/ https://code.google.com/p/data-race-test/wiki/ThreadSanitizer https://www.research.ibm.com/haifa/projects/verification/contest/ http://javapathfinder.sourceforge.net/ https://code.google.com/p/thread-weaver/wiki/UsersGuide http://findbugs.sourceforge.net/ http://research.microsoft.com/en-us/projects/chess/
Product Description Race Catcher™ is the leading Dynamic Analysis tool for Java based applications. Jeff Huang, Patrick O’Neil Meredith, and Grigore Rosu. 2014. Maximal sound predictive race detection with control flow abstraction. In Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI ‘14). ACM, New York, NY, USA, 337-348. Find and fix synchronizations bugs in your applications while you test. "ThreadSanitizer (aka tsan, not "Thread Sanitizer") is a data race detector for C/C++ programs. Typical slowdown introduced by ThreadSanitizer is about 5x-15x. Typical memory overhead introduced by ThreadSanitizer is about 5x-10x.”
With ConTest, the impact on the testing effort is minimal. Testers can rerun existing test suites without recompilation of the software under test (but with a greater probability of uncovering synchronization problems ). ConTest is easy to use and requires, typically, less then one day to set up.   “In reality "allpossible"(states) can be a pretty large number - too large for existing computing resources or our patience.
For 8 sections the result is 12870, 16 sections yield 601080390 - that is why it is called state explosion. Software model checking has a scalability problem, even more so than model checking of hardware, since programs usually have a lot more states."
Thread Weaver is a framework for writing multi-threaded unit tests in Java.
It provides mechanisms for creating breakpoints within your code, and for halting execution of a thread when a breakpoint is reached. Other threads can then run while the first thread is blocked. This allows you to write repeatable tests that can check for race conditions and thread safety."
Findbugs is an open source tool for static code analysis of Java programs. It scans byte code for so called bug pattern to find defects and/or suspicious code. Although Findbugs needs the compiled class files it is not necessary to execute the code for the analysis. “CHESS is a tool for finding and reproducing Heisenbugs in concurrent programs. CHESS repeatedly runs a concurrent test ensuring that every run takes a different interleaving. If an interleaving results in an error, CHESS can reproduce the interleaving for improved debugging.

Each STAR represents one positively answered topic (below) ★★★★★★★★ ★★★★ ★★★★
Analyzes Java Code
Run-Time Analysis
No False Positives many unuseful results many unuseful results many unuseful results many unuseful results many unuseful results
Does Not Demand Time (hours and days) to understand the results
Locates all experienced Race Conditions
Interactive, Real Time User Interface
Real Time Analysis Aggregation (From all LAN or VPN Machines)
Typical Run-Time Overhead  5-10% 500% - 1500%
according to the following link:
http://llvm.org/releases/3.3/tools/clang/docs/ThreadSanitizer.html
The following 4 tests were ran with Run-Time analysis tools here
R27 : Gui application: 3 Race Conditions:  3 RC detected and analyzed 3 RC detected and analyzed 1 RC detected
DEMO3: 1 Race Condition accessing Array elements  1 RC detected and analyzed 1 RC detected and analyzed
DEMO4: 1 Race Condition accessing method parameters 1 RC detected and analyzed 1 RC detected and analyzed
RDEMO: 1 Race Condition accessing field via reflection   1 RC detected and analyzed
The following data was produced by SpecJVM - tool for testing JVMs
runing with Compute Intensive Corner Cases
Larger reading means faster performance.  The 'Black Box' execution is one withou an agent.
compiler.compiler test case  Reading with Race Catcher: 201  Reading with RV-Predict: 48
Black Box reading: 218 Black Box reading: 218
Run Time Overhead (218 - 201) / 218 = 7.8% (218 - 48) / 218 = 78% 
xml.transformer test case Reading with Race Catcher: 201.75 Reading with RV-Predict: 6.75
Black Box reading: 215.95 Black Box reading: 215.95
Run Time Overhead (215.95 - 201.75)/215.95=14.2/215.95=6.6%  (215.95-6.75)/215.95=97%