Coverity Product Overview
Total Page:16
File Type:pdf, Size:1020Kb
Coverity Product Overview Coverity® Development Testing Platform Smart companies understand that to reduce risk and accelerate time to market they need to find and fix quality and security issues in their code, starting in development. The challenge is how to get started. Many organizations struggle with the basics of how to deal with time to market pressures in the face of increasingly complex software, shrinking development cycles and fixed development resources. In the quest for speed, organizations make themselves vulnerable to risk. A small mistake in development could cause an organization to become next week’s headline news. Change just amplifies the problem. With every change, more risk is entered into the environment if not managed properly. The Coverity® Development Testing Platform empowers development to build quality and security testing into the development process at the earliest stage for fast, resilient and predictable software delivery. With Coverity, development organizations can transform software testing from reactive to proactive, and into a competitive advantage. • Analyze: intelligently test code with a deep understanding of its behavior, criticality and change impact to focus testing on high risk areas and accurately detect defects often difficult to find through traditional testing. • Remediate: surface quality and security issues in the developer workflow with actionable guidance to quickly and efficiently manage issues to resolution. • Govern: enforce a consistent standard and process for quality, security and testing across the organization, with visibility into risk to make better decisions and release with confidence. Technology with proven developer adoption. Embedded into the development process at over 1,100 companies. Coverity Development Testing Platform Analysis SDLC Packs Policy Manager Integrations Third Party Dynamic Metrics Analysis Coverity Connect IDE Code Coverage Architecture Analysis Test Quality Security Test Execution Advisor Advisor Advisor Build/ Continuous FindBugs™ Integration Analysis Defect Tracking SCM Analysis ™ Integration Coverity SAVE HP Toolkit Static Analysis Verification Engine ALM Proprietary Code OpenSource Code 1 Coverity Product Overview The Coverity Development Testing Platform Coverity® Static Analysis Verification Engine™ (Coverity SAVE™) Coverity SAVE, the award-winning analysis engine for the Coverity Development Testing Platform, applies multiple patented techniques for accurate issue detection, based on a decade of research and development and analysis of over 5 billion lines of proprietary and open source code. Coverity SAVE intelligently tests code changes with a deep understanding of behavior, criticality and change impact to focus testing on high risk areas of code and accurately identify traditionally untestable issues. Coverity SAVE integrates seamlessly with any build system and generates a high fidelity representation of the source code to ensure a deep understanding of its behavior, supporting the market leading compilers for C/C++, Java and C#. Coverity SAVE also provides full path coverage, ensuring that every line of code and every potential execution path are tested. Coverity SAVE utilizes multiple patented techniques to ensure deep, accurate analysis. Including: • Interprocedural Dataflow Analysis: identify complex issues that cross function, file and class boundaries versus simple style violations or superficial issues. • Boolean Satisfiability Solvers: dramatically improve accuracy by performing a bit-accurate analysis. • False Path Pruning: understand the data dependencies in your code and eliminates infeasible paths from the analysis. • Statistical Profiling: automatically detects coding patterns and learns the programmer’s intent to reduce “noise” in the results. In other words, we understand what you meant to say, not what you said. • Design Pattern Intelligence: understand patterns and programming idioms in C/C++, Java and C# which are integrated into the analysis. • Enterprise Framework Analyzer: augment source code analysis by providing a deep understanding of modern web applications including dependency injection, entry points and the MVC paradigm. • White Box Fuzzer: automatically validate that data sanitization routines perform sufficient sanitization of untrusted data and are used in the right context. • Change Impact Analysis – Patent Pending: automatically map code and function dependencies to analyze all impacted code related to change—the changed code itself and the code impacted by a change. Only by understanding the full impact of a change can you ensure complete testing coverage over your high risk code. Coverity SAVE fits into your existing workflow including parallel analysis to run on up to sixteen cores simultaneously and delivers up to a 10x performance improvement over serial analysis, and incremental analysis which only re-analyzing the code which has changed or been impacted by a change, instead of the entire code base each time. Coverity SAVE scales to accommodate thousands of developers in geographically distributed environments and can analyze projects in excess of 100 million lines of code with ease. Coverity® Quality Advisor Coverity® Quality Advisor surfaces quality defects in the developer workflow, with accuracy and actionable remediation guidance. Your developers are armed with the information they need to troubleshoot and fix the quality defects that matter, quickly and efficiently, before the code even makes its way to QA. Teams can build quality into development to reduce re-work costs and delayed time to market resulting from defects found late in the cycle and reduce the risk of costly and brand-damaging quality issues and software failures in the field or in production. As a foundation for Quality Advisor, Coverity SAVE intelligently tests code changes with a deep understanding of behavior and criticality to accurately identify hard to spot yet potentially crash causing quality defects in C/C++, Java and C# codebases, including concurrency defects, improper use of memory and null pointer dereference issues. Defects are then surfaced in Quality Advisor for fast and easy remediation. 2 Coverity Product Overview The Coverity Development Testing Platform In addition to quality defects identified by Coverity SAVE, you can seamlessly integrate results from additional analysis engines to manage multiple types of quality defects to resolution within a unified development testing workflow. Coverity offers the following analysis packs to Quality Advisor: • Coverity® Dynamic Analysis for Quality Advisor: Identify concurrency issues such as race conditions, deadlocks and resource leaks by analyzing Java programs as they run. View and manage both static and dynamically identified quality defects in a single workflow. • Coverity® Architecture Analysis for Quality Advisor: Visualize the code structure to identify dependency conflicts and interface violations, detect architectural flaws that could create exposure, manage code complexity and enforce architectural design rules. • FindBugs™ Analysis for Quality Advisor: FindBugs™, the leading open source static analysis engine for Java, ships out of the box with Quality Advisor, providing your developers with a single location to surface and remediate both Coverity and FindBugs identified quality defects. Analysis engines commonly look for different types of quality issues and therefore many organizations find it valuable to implement multiple tools, but managing them in silos is not scalable or cost effective. With the Coverity® Analysis Integration Toolkit you can integrate third-party analysis results to manage Quality Advisor defects alongside third-party quality defects within a unified workflow. Improving the manageability of multiple tools enhances developer productivity and provides a consistent process for issue resolution, regardless of how the issue was identified. Coverity® Connect Coverity® Connect is the collaborative issue management console to efficiently manage all issues surfaced by Quality Advisor, Security Advisor and Test Advisor to resolution within a unified workflow. • Connect issues: Manage quality defects, security defects, and untested code violations together in a single interface. • Connect developers: Share information and collaborate across geographically distributed teams with an enterprise platform. • Connect to your workflow: Manage issues efficiently to resolution within your SLDC process, from assignment of work items to tracking issues to closure. For every issue discovered, Coverity Connect provides a clear explanation of the issue, its severity based on business impact, its precise location in the code and all additional occurrences of the defect across code branches. Developers now have actionable information to make better fix/no fix decisions based upon business impact. By categorizing and prioritizing issues together within a unified workflow, developers know what needs to be resolved first. With this visibility, time spent troubleshooting and fixing issues is dramatically reduced. With Coverity Connect your organization can manage issues to resolution and promote collaboration across geographically distributed teams within a standard workflow. Issues can be automatically assigned to the appropriate owner and tracked to resolution within set SLA timeframes to ensure developer accountability. In addition, you can set alerts so developers are notified automatically when new issues impact their project, regardless of who