Comprehensive Code Quality Tools for C/C++
Development
Help development teams produce better code, test it more
efficiently, and consistently monitor progress towards quality goals.
Automate proven Development Testing practices—such as static
analysis, peer review, unit testing, coverage analysis, and runtime error
detection—on the desktop early in the SDLC.
For embedded
and cross-platform development, C/C++test can be used
in both host-based and target-based code analysis and test flows.
Automate Code Analysis for Monitoring Compliance
Prevent entire classes of programming errors by ensuring
compliance with coding standards specific to your group or organization.
Hundreds of built-in rules—including implementations of MISRA standards, as well
as guidelines from Meyers' Effective C++ and Effective STL books, and other
sources—help identify defects, enforce best coding practices, and improve code
maintainability and reusability. Enforce standard API usage and prevent the
recurrence of application-specific defects after a single instance has been
found.
Identify Runtime Bugs without Executing Software
Simulate feasible application execution paths across multiple
functions and files—which is critical for embedded applications in which
detailed runtime analysis for is ineffective or impossible. C/C++test also
provides a complete path for each potential defect in the IDE and cross-links it
to the code, enabling users to quickly jump to any point in the highlighted
analysis path. Defects detected include using uninitialized or invalid memory,
null pointer dereferencing, array and buffer overflows, division by zero, memory
and resource leaks, and various flavors of dead code.
Complete and Effective Peer Review
C/C++test enables an efficient team-oriented process by
automating the preparation, notification, and tracking of peer code reviews.
Coding policy is automatically monitored during static analysis, which virtually
eliminates line-by-line inspections. Because violations have already been
identified and cleaned by the time code is submitted for review, reviews can
focus on examining algorithms, reviewing design, and searching for subtle errors
that automatic tools cannot detect. C/C++test is also
highly-adaptable—supporting both post- and pre-commit code review workflows.
Unit, Integration, and Regression Testing
Automatically generate complete tests, including test drivers and
test cases for individual functions, and use them for initial validation of the
functional behavior of the code. Automatically-generated test cases can also
check function responses to unexpected inputs, exposing potential reliability
problems. A multi-metric test coverage analyzer, including statement, branch,
path, and MC/DC coverage, helps users gauge the efficacy and completeness of
tests, as well as demonstrate compliance with test and validation requirements.
C/C++test also facilitates the development of a robust regression test suite
that detects if incremental code changes break existing functionality.
Embedded and Cross-Platform Development
C/C++test can be used in both host-based and target-based code
analysis and test flows. For extremely quality-sensitive industries, such as
avionics, medical, automobile, transportation, and industrial automation,
integrating C/C++test with Parasoft
Development Testing Platform (DTP) enables
efficient and auditable quality processes with complete visibility into
compliance efforts. DTP and C/C++test provides full bi-directional traceability
to help you achieve your compliance goals.