Software faults in the field cause expensive error corrections, upgrades and loss of reputation and brand. A study by NASA shows that an error found in the field is up to 100x more expensive than an error found during development.
The hard-to-find errors are often caused by dynamic behavior in the software. These errors cause product recalls and downtime, delays in projects and product cycles. Even with the state-of-the-art static analyzers and unit testing tools, errors slip through testing to cause problems in the field.
Reproducing a fault caught by the customer is an expensive and time-consuming task. Development may spend weeks to replicate the customer's environment. Even when the issue can be reproduced in the lab, finding the root cause can take weeks. The location where the program crashes may be in a very different module from where the bug was introduced. For race conditions and deadlocks, the bug may be a true "Heisenbug" - one that disappears when you try to look at it in a debugger.
Nowadays the software defines the system. Continuous delivery is key to keep up with the shortened product cycles. Nasty bugs like data races, deadlocks, or illegal memory accesses can grind product development to a halt. At the same time, frequent releases leave less time for testing and can negatively impact quality.
Pareon Verify detects the errors as part of your continuous integration and regression tests. The detailed reports point immediately to the cause of the error.
Dynamic analysis is like an MRI scanner for your software: it detects errors by observing the application’s behavior while it runs. Dynamic analysis looks inside the application to see the errors happening and pinpoints the root cause of the error It detects the errors occurring even if they don’t trigger a test to fail.
Analysis of Android system libraries with Pareon Verify.Read more...