Application Reliability Management - multithreading reliability check - diagnosing race conditions - dynamic code analysis


Application Reliability Management Powered By Collaborating Machines


Application Reliability Management Powered By Collaborating Machines



Never miss a multithreading issue. Pinpoint all race conditions and deadlocks in real time.


Dynamic models provide an in-depth explanation of every fault. The root cause is mapped to its location in your source code.


Issues experienced by multiple machines using the same account may be aggregated. Programming team working on the same project, or machines within a datacenter running the same application benefit from real time collective knowledge aggregation.


Diagnosed issues can be automatically and securely published to geographically dispersed machines of tech support engineers.

A useful service for managing concurrency issues.
Peter Norvig

Director of Research, Google

This could have saved me 6 months of my life. (at JavaOne 2014)
Irena Shaigorosky

Principal Software Engineer, Enservio

Thanks for analyzing our Request Processor. I am looking forward to making NetBeans more reliable.
Jaroslav Tulach

NetBeans Platform Architect, Oracle

This tool should be a part of every IDE.
(at JavaOne 2014)
Ramadass Venkadasemy

Site Reliability Engineer, LinkedIn

Thank you for this amazing software. We have been able to catch a few races in our product.
Jukka Tervaskanto

Project Manager, Remoteus

Is this magic?
(at JavaOne 2014)
Hannes Zuercher

Software Manager, Geoseis

Application Reliability Management – multithreading reliability check – diagnosing race conditions – dynamic code analysis


What is even better than dynamic code analysis?
Dynamic code analysis that is amplified by aggregate knowledge from the machines of your peers and your customers.

Amplified Knowledge By Collaborating Machines


Race Catcher

Workstation + Enterprise Edition

Your central hub for concurrency analysis. Diagnose, Aggregate and optionally share across your network of machines.

$49 /month


Two Editions in One Introductory Price: 60% Off


Race Catcher

Smart Agent Only

Equip any VM with concurrency awareness and pass analysis to your enterprise workstation edition in real time

$10 /month

$100 /year



Our trial version alerts you to the presence of any concurrency defects experienced in the code you choose to analyze. For analysis of diagnosed faults, and localization of their root cause, a license is required.    Subscription to analysis of supported open source projects is provided license free.





1. Download

by clicking on the icon of your operating system.

(The Screen on the right is for the case of MAC OS)

2. Install

3. Create Free Account

4. Run Demo

1. Download the product from TRY IT FREE
2. Run the download executable which will perform the product installation.
3. Launch the app (from icon or from console by command ‘sumui’) and create a free account.
4. Select from menu: Activity -> View/Modify -> Workstation -> Subscribing -> Supported Open Source; Check one or both demo projects; Exit Monitored Projects dialog; Start subscription; UI will be populated with already analyzed issues (see screen shot below);

To Explore The Interactive Demo Analysis:

  • Select a project from the Application Reliability Status panel;
  • Select a contention from the Contentions List;
  • Click on Animate;  Explore available keys – mouse position sensitive help is displayed on the status bar;

Alternatively, demo the product on your own code by following the steps To ARM-CM Enable You Code

ARM-CM Enabling your Application

Enabling your app to run in Application Reliability Management Powered By Collaborating Machines mode

In order to have your JVM powered applications be analyzed by Race Catcher™ they need to be started in ARM-CM Enabled mode.  You can use the “jta” convenient scripts or their expanded versions as provided below in the following examples:

To enable Analysis of Race Conditions:         

 Instead of java use jta :

i.e. instead of java -jar myapp.jar use jta -jar myapp.jar

     ~user$     jta -jar r27.jar

Expanded into command line “jta” scripts are seen below:

The arguments to VM from this scripts could be used to ARM-CM Enable projects that are run within Eclipse or NetBeans or  within any other script.

Note: The scripts below assume that the installation folder is “Program Files\ThinkingSoftware\SUM4JTA”

Application Reliability Management from Eclipse:

Expanded into command line “jta” script  is seen below:

Note: The scripts below assume that the installation folder in Windows is “Program Files\ThinkingSoftware\SUM4JTA”


java -Xms512m -Xmx512m -javaagent:”C:\Program Files\Thinking Software\SUM4JTA\lib\SUM4JTA.jar” -jar your.jar


java -Xms512m -Xmx512m -javaagent:/home/<user name>/tsi/SUM4JTA/lib/SUM4JTA.jar -jar your.jar

Application Reliability Management from Netbeans:

To Run ARM-CM enabled projects from within NetBeans add the JVM parameters to the VM Options: field of the panel of theRun options of the Project Properties panel, as seen below. (MAC installation folders example)