Runtime Defect Detection

Coverity’s Dynamic Analysis is a specialized solution for multi-threaded Java applications. With this capability, development teams can automatically and predictably detect existing and potential race conditions and deadlocks that can cause incorrect application behavior. With exceptionally low overhead, Dynamic Analysis automatically instruments Java programs and provides reliable, accurate, and reproducible detection of concurrency errors. It also finds resource leaks that can result in performance degradation and potential performance bottlenecks caused by over-synchronization. It is a unique defect detection product because it identifies not only problems that will certainly occur in limited testing environments, but also problems that have the potential to occur over extended operations in the field.

Improve Security of Multi-Threaded Applications

The emergence of multi-core platforms, and the need for multi-threaded applications to take advantage of them, has created new opportunities for malicious attacks on your software. These complex applications, built on advanced hardware, are the new frontier of software vulnerabilities. When software is performing operations such as recording whether a user is authenticated or modifying important state information, race conditions can have severe security implications. Attackers can influence thread execution causing data corruption or worse. Coverity’s Dynamic Analysis automates the complex task of identifying potential security vulnerabilities in multi-threaded code, ensuring the overall integrity of your application.

Control Multi-core Complexity

When building or migrating to a multi-threaded application environment, it is imperative that development organizations utilize a testing solution specifically built to find concurrency defects caused by the complex interleavings of these sophisticated applications. Concurrency errors are uniquely challenging—they are difficult to find, can seriously corrupt critical applications, and may not manifest until well after deployment. By automatically finding deadlocks, thread blocks, and race conditions, dynamic analysis sharply reduces the problem of testing billions of unpredictable thread interleavings, ensuring thread safety and application reliability.

Static and Dynamic Analysis Integration

Coverity’s Dynamic Analysis provides the industry’s first and only tightly-coupled integration with static analysis technology. Coverity’s groundbreaking innovation allows dynamic analysis to further increase the accuracy of static analysis. It also leverages static analysis results to speed the dynamic detection of defects in your code. Defects detected via static analysis and dynamic analysis can be triaged and managed in a unified interface, making it easier to ensure high-integrity Java code.

Ease of Use

One of the key benefits of Coverity’s dynamic analysis is that it integrates easily into your existing software development process. This low-overhead solution can be implemented quickly, with minimal impact to your team or test environment. The robust workflow provided by the Coverity Integrity Manager allows you to automatically assign ownership and severity of found defects. Optionally, teams can use the Eclipse IDE plugin for coding and runtime analysis in one interface. Because Dynamic Analysis integrates with Coverity Integrity Manager, it offers you a single, unified interface for remediating both runtime errors and statically detected code defects.

Contact us to find out how dynamic source code analysis can shorten your development cycles and improve your code quality.

Phone

+1 (415) 321-5237 (International)
(800) 873-8193 (U.S. toll-free)

Email

sales@coverity.com

“Coverity Prevent helped us ensure code quality between multiple development groups and successfully deliver our new product on time.”
Jason Cooper
Software Engineer, ip.access
Read the Case Study