Thinking Software, Inc. Releases its Concurrency Analysis Service

Thinking Software, Inc. announced this week the availability of its Java Concurrency Analysis Service to help improve the quality of multi-threaded Java™ applications and reduce support costs. The newly announced service extends the capabilities of Thinking Software's Race Catcher technology to find elusive race conditions and deadlocks that often lie dormant until after production deployment.

  • Share on TwitterShare on FacebookShare on Google+Share on LinkedInEmail a friend
Find Concurrency Bugs Fast

Find Concurrency Bugs Fast

Using the Concurrency Analysis Service, an engineer can monitor the reliability of any number of locally or remotely deployed Java™ application instances.

Saratoga, CA (PRWEB) March 18, 2014

This week Thinking Software, Inc. has extended the range of its Java™ dynamic code analysis tool suite with new features for remote application monitoring, spanning any topology of geographically dispersed application deployments.

Using the Concurrency Analysis Service, an engineer working at a headquarters location can monitor the reliability of any number of locally or remotely deployed Java application instances equipped with the Race Catcher™ agent. When a contention incident arises anywhere in the installed base, Race Catcher notifies the service, and even reports the source-code locations that participate in the contention. The engineer can instantly see an analysis of the incident, depicted graphically in the Software Understanding Machine® console.

This capability to monitor applications from a central location builds on previous releases of Thinking Software products which are local to a single workstation or a cluster of servers located in a single data center. This software suite covers the entire lifecycle of application development and deployment, from laptops to worldwide data-center networks.

The problem of thread safety has grown in importance in recent years as concurrency and multi-core processors have become more common. Today, most applications employ multi-threaded code, either directly, in code written by the developer, or indirectly, in libraries or frameworks integrated with the application. Unless the multiple threads are correctly synchronized – not a trivial programming task – the application will exhibit unpredictable behavior on an intermittent basis due to race conditions or deadlocks. This is why dynamic code analysis is needed. Without a dynamic software tool like Race Catcher to provide a live view of the executing software, developers are forced to use thread dumps and intuition to reconstruct how these bugs arise. This can result in weeks-long debugging efforts, sometimes under crisis conditions.

The low overhead of the Race Catcher agent means it can be deployed with every production application, ready at all times, with no need for code modification, a special build or application restart. At the first sign of anomalous behavior, an engineer can view the application in the Software Understanding Machine console and quickly identify the problem. Unlike traditional debugging techniques, where an anomaly must be reconstructed and replayed in order to be understood – another non-trivial task – the race conditions in the application are already analyzed by the Software Understanding Machine, with no need to reproduce the incident.

Learn more about Race Catcher and the Concurrency Analysis Service:

About Thinking Software, Inc.
Thinking Software, Inc. provides dynamic code analysis tools to help software developers and integrators find elusive bugs due to race conditions and deadlocks, both during the development phase and after deployment. The tools are targeted at all JVM-based languages, including Java, Scala, JRuby, Jython and 24 others.