Take away the pain of Uncertainty
and Instability

For your company

  • Improve your time to market
  • Perpetually Increase your software reliability

For your testers:

  • Open Black Boxes
  • Make your Black Box testers to become your White Box testers
  • Have your testers to report to your programmers automatically analyzed issues

For your programmers:

  • Increase your programmers’ productivity
  • Give your programmers a new perspective on their code
  • No need to reproduce the failure, the analysis is already done automatically

For your data processing manager:

  • Your managers can now see their programmer’s code from a new and clear perspective
  • No programming experience is required to have the benefits of the new code representation.
Automatically analyze 100 % of experienced Threading issues with 0% False Positive Precision


The worst bugs are those which we do not know we have - those that do not generate exceptions, logs or crash your system, but are the silent and intermittent conditions of unpredictable results.

They are often impossible to be reproduced in a debugging environment, and even if reproduced they are not detectable using traditional testing techniques. They live within your code like time bombs, except when explode, they are not disarmed but wait for the next time to do the damage again and again.

Reliability of your business critical soft­ware is absolutely essential to the suc­cess of your business and must never be compromised.  CPU silicon transistor density has reached its peak. However, processing speeds are continually increasing. Those advances in computing speeds are due, not to increas­ing silicon density, but the advent of Multi-core CPU technologies.

In order to cope with the proliferation of multi-core machines and leverage that technology to remain ahead of the com­petition, software developers must design new applications using multi-threading techniques.

The challenge of, and the need for creat­ing multi-threaded applications will only increase with time. This trend will create a higher prevalence of concurrency defects, which can easily slip through traditional testing techniques.

As a consequence of multi-threading, a new non-trivial type of error conditions called thread contentions, consisting of race conditions and deadlocks has come to the forefront. Dealing with these condi­tions is becoming increasingly important.

(*) SUM4JTA detects on average 20 race conditions per 100,000 LOC in popular projects actively supported by the open source community for the last 11 to 15 years

NIST estimates that over two days of developer’s time (17.4 hours [1]) is spent fixing an average bug, but a race condition is not your average bug.

However:

  • since programmers often do not even suspect race conditions to be the cause of an unexpected result as they look for other, more traditional causes
  • since Race Conditions can not be located using traditional debugging techniques

 — the usual cost in terms of time spent locating and disarming a race condition is much higher than two working days per bug, as it is seen from the example (*) above.

This is why you need Software Understanding Machine® for Java Threads Analyzer, SUM4JTA, in order to take away the pain of Uncertainty and Instability, in order to have a good night sleep while SUM4JTA will do the job for you – all that resulting in a higher reliability of your software applications.

 
[1] Source: National Institute of Standards and Technology - The Economic Impacts of Inadequate Infrastructure for Software Testing