Parasoft C/C++test is an integrated solution for automating a broad range of best practices proven to improve software development team productivity and software quality. C/C++test enables coding policy enforcement, static analysis, unit and component testing, and runtime error detection to provide teams a practical way to ensure that their C and C++ code works as expected. C/C++test can be used both on the desktop under leading IDEs as well as in batch processes via command line interface for regression testing. C/C++test integrates with Parasoft DTP, which provides interactive Web-based dashboards with drill-down capability, allowing teams to track project status and trends based on C/C++test results and other key process metrics.
C/C++test can help development teams:
Apply a comprehensive set of best practices for identifying and addressing defects from the earliest phases of the development cycle—when fixing them requires minimal effort and rework.
Automatically vet known coding issues so more time can be dedicated to tasks that require human intelligence.
Efficiently construct, continuously execute, and maintain a comprehensive regression test suite that detects whether updates break existing functionality.
Gain instant visibility into C and C++ code quality and readiness by accessing on-demand objective code assessments and tracking progress towards quality and schedule targets.
Build an efficient, consistent, and controlled team workflow for applying best practices that reduce testing time, testing effort, and the number of defects that reach QA.
Automate negative testing on a broad range of potential user paths to uncover problems that might otherwise surface only in “real-world” usage.
C/C++test Capabilities
Static Code Analysis
Facilitates regulatory compliance (MISRA, OWASP, AUTOSAR, etc.). Ensures that the code meets uniform expectations around security, reliability, performance, and maintainability. Eliminates entire classes of programming errors by establishing preventive coding conventions. For details, see Static Code Analysis.
Data Flow Analysis
Detects complex runtime errors related to resource leaks, exceptions, SQL injections, and other security vulnerabilities without requiring test cases or application execution. For details, see Flow Analysis.
Metrics Analysis
Identifies complex code, which is historically more error-prone and difficult to maintain. For details, see Metrics Calculation, Static Code Analysis.
Unit Test Generation and Execution (Including Coverage & Regression Testing)
Enables the team to start verifying reliability and functionality before the complete system is ready, reducing the length and cost of downstream processes such as debugging. For details, see Test Creation and Execution.
Runtime Error Detection
Exposes critical defects, such as race conditions, exceptions, resource leaks, and security attack vulnerabilities, as the application is exercised during unit testing or at the application level. For details, see Runtime Error Detection.
Requirement Traceability
Traces requirements back to test cases to give you an objective assessment of which requirements are working as expected, and still need testing. You can easily identify requirements that are not covered by any test case and address these gaps by adding appropriate test cases to your project. For details, see Working with the Requirements View.
C/C++test Embedded Documentation
For general embedded testing documentation, see Cross-Platform and Embedded Testing. For environment-specific information, see Supported Environments Details.
Safety Related Software Development with C/C++test
C/C++test has been certified by TÜV SÜD to be qualified for safety-related software development:
The verification tool fulfills the requirements for support tools according to IEC 61508-3. The tool is qualified to be used in safety-related software development according to IEC 61508 and ISO 26262.
See Using C/C++test on Safety-Related Software for details.