Deliver C and C++ software that’s robust, predictable, and secure

Manage risk and costs by building better software. Static analysis and unit testing are critical for application quality, security, and safety, and the cornerstone of any connected-application development initiative today. Parasoft offers a fully-integrated testing solution to identify defects earlier and reduce the overall burden of achieving compliance with standards such as MISRA, CERT, ISO 26262, DO-178B/C, IEC 61508, IEC 62304, and AUTOSAR.

Learn how to effectively leverage a portfolio of testing techniques, ensuring the reliability and security of your connected embedded application.

Addressing Critical Issues Impacting Teams

Reduce the cost of developing high-quality software, without sacrificing time-to-market.

  • Increasingly Complex Embedded C/C++ Software

    Reduce the risk of complex embedded software by putting practices in place to ensure quality software from the start – leveraging comprehensive C and C++ coding best practices (e.g. MISRA) and a powerful unit testing framework for both your host (desktop) and target (device) platforms.

  • Cost of Compliance for Safety-Critical Development

    Reduce the burden of ensuring your applications are compliant with industry standards and safety-critical regulations. Create a robust software development process, with comprehensive reporting and qualification kits, using TÜV-certified C/C++test.

  • Achieving Quality at Speed

    Put a safety net around your software development process ensuring that quality, reliability, and security are baked into the application from the start, and accelerate the team's delivery by focusing on the risks associated with changes in the application.

  • Mitigate the Security Risk from Connected IoT Devices

    IoT increases the surface area for attacks and has exposed more and more C/C++ applications to attack. Ensure quick and consistent application of security best practices and integrate with API-level attacks to uncover security issues deep within the application.

One solution for all of your C/C++ software quality needs

Static Analysis & Security Testing with C/C++test

Static analysis has been proven to be such a fast and easy way to identify defects that there’s really no excuse for developing software without it. As such, it has become a key requirement for many regulatory compliance industries such as automotive (IS0 26262 and MISRA). Static analysis in Parasoft C/C++test accurately exposes the industry’s broadest range of defects and non-compliance issues.

  • Helps you quickly find and fix code defects with complete path analysis for accurate violation detection
  • Supports both Preventative (Pattern) and Detection (Flow-Based) Static Analysis techniques, along with a comprehensive set of Metrics for code structure
  • Supports custom rule creation with RuleWizard
  • Comprehensive support for safety-critical standards (i.e. ISO 26262, IEC 61508, DO 178B/C, EN 50128) and industry best practices (i.e. MISRA C++ 2008, MISRA C 2012, AUTOSAR C++14, Joint Strike Fighter (JSF), CERT C & C++, CWE, HIC++, and more).
  • Centralized reporting and compliance auditing with Parasoft DTP
  • Ease of deployment: easy to configure, easy to automate, non-intrusive and scalable across multiple teams

Unit & Integration Testing with C/C++test

Parasoft C/C++test minimizes the complex and time-consuming challenges associated with creating and maintaining unit and integration tests, by providing a unified test environment for test creation and management, isolation of the code under test, and advanced coverage reporting to ensure the application has been thoroughly tested. C/C++test allows you to test both on and off target, supporting today's embedded, connected devices.

  • Rich, IDE-based graphical environment for creating and managing test cases, via both UI-driven editors and directly in source code
  • Automated stubbing framework for easily isolating code under test
  • Advanced code coverage reporting, supporting multiple metrics, including Function, Line, Statement, Block, Path, Decision, Simple condition, MC/DC, and Call
  • Ability to capture coverage and report results from open-source testing frameworks, such as CPPunit, CppUTest, and Google Test
  • Centralized reporting with Parasoft DTP for aggregation of coverage for both manual and automated testing, providing per-test coverage and reports of trending results across builds
  • Support for on-target testing of a broad set of compilers and targets, such as ARM, Clang, GNU, Green Hills, Hitech, IAR, Intel, Renesas, QNX, Tasking, Texas Instruments, and Wind River.

Runtime Analysis, Code Coverage, & Traceability

Runtime Error Detection

C/C++test supports runtime error detection of embedded C applications, helping you identify security vulnerabilites and serious runtime defects such as:

  • Memory leaks
  • Memory corruption
  • Reading uninitialized memory
  • Accessing memory using an out of range pointer (e.g. buffer overflow)
  • Accessing memory using a null pointer
  • Using free() on an invalid pointer

Coverage Analysis

In addition to unit and integration tests, C/C++test enables you to capture the same broad set of coverage metrics for tests that are executed outside the unit testing framework, such as manual testing efforts or automated tests with open-source frameworks such as GoogleTest.

Coverage can be aggregated within the developers desktop, as well as within the reporting and analytics dashboard, to enable advanced analytics, such as Change-Based Testing.

Requirements Traceability

C/C++test provides complete requirements traceability in support of industry compliance requirements, such as FDA, DO-178B/C and ISO 26262. With the ability to both associate tests with requirements and isolate the code coverage for individual tests, the reporting and analytics dashboard provides full detail of requirements, code, and test traceability.

Functional Safety & Compliance

To efficiently leverage a tool for verification of compliance with industry standards, you need two things: a tool certified for use within your industry and a compliance kit for verifying the use of the tool within your environment.

Certified Software

Parasoft C/C++test is certified by TÜV SÜD for functional safety according to IEC 61508 and ISO 26262 standards, helping development teams achieve the desired safety integrity level (SIL/ASIL). Parasoft C/C++test provides out-of-the-box static analysis configurations for important security and safety standards, including the most comprehensive support for CERT C on the market.

Qualification Kits

To streamline the process of tool verification, C/C++test Qualification Kits are available for DO-178B/C, ISO 26262, IEC 61508, EN 50128, and their derivatives, customized for your specific environment and usage requirements. By automating this process, the Qualification Kits reduce the potential for human error as well as the time it takes to perform tool qualification.

Which edition is right for you?

Desktop Editions: Server:
Standard Professional Embedded Testing Automation Edition

Static Code Analysis

Ability to create custom coding guidelines

Static Code Analysis

Ability to create custom coding guidelines

Static Code Analysis

Ability to create custom coding guidelines

Static Code Analysis

Metrics:

Threshold-Based Metrics Analysis

Metrics:

Threshold-Based Metrics Analysis

Metrics:

Threshold-Based Metrics Analysis

Metrics:

Full Metrics Analysis including integration with Metrics Explorer in DTP

Unit Test Execution:

GoogleTest
CppUnit
CppUTest

Unit Test Execution:

GoogleTest
CppUnit
C/C++test test framework

Unit Test Execution:

GoogleTest
CppUnit
C/C++test test framework

Unit Test Execution:

GoogleTest
CppUnit
CppUTest
C/C++test test framework

 

Unit Test Creation:

C/C++test test framework

Unit Test Creation:

C/C++test test framework

 

Coverage Analysis:

Analysis for unit testing
Application monitoring during functional and manual tests

Coverage Analysis:

Analysis for unit testing
Application monitoring during functional and manual tests

Coverage Analysis:

Analysis for unit testing
Application monitoring during functional and manual tests

Coverage Analysis:

Analysis for unit testing
Application monitoring during functional and manual tests

Coverage Analysis Types:

Line

Coverage Analysis Types:

Function
Line
Statement
Block
Path
Decision
Simple condition
MC/DC
Call

Coverage Analysis Types:

Function
Line
Statement
Block
Path
Decision
Simple condition
MC/DC
Call

Coverage Analysis Types (CppUnit, C/C++test framework):

Function
Line
Statement
Block
Path
Decision
Simple condition
MC/DC
Call

Coverage Analysis Types (all frameworks):

Line

 

Runtime memory monitoring

Runtime memory monitoring

Runtime memory monitoring

   

Support for embedded platforms

Support for embedded platforms
(optional)

IDE Integrations:

Eclipse
Microsoft Visual Studio 2008-2017
+ more

IDE Integrations:

Eclipse
Microsoft Visual Studio 2008-2017
+ more

IDE Integrations:

ARM
Eclipse Development Studio
GCC
KEIL
Microsoft Visual Studio 2008-2017
Wind River
+ more

Build Integrations:

Command-line execution for integration with build automation (e.g. make) and CI infrastructure (plugins for Jenkins, Bamboo, TeamCity, and VSTS). For a complete list of integrations, click here.

Integration with DTP:

Ability to download and import findings and coverage information from DTP into the IDE

Integration with DTP:

Ability to download and import findings and coverage information from DTP into the IDE

Integration with DTP:

Ability to download and import findings and coverage information from DTP into the IDE

Integration with DTP:

Ability to upload results to DTP for centralized reporting and analytics

Try Parasoft C/C++test

"By deploying C/C++test as the coding standard analysis tool, Mobile solution project in the SW Center of Samsung Electronics have decreased the amount of coding violations by 80%; a significant improvement on their development/testing process."

Samsung

"C/C++test has become the basis for safety oriented SW development and has been facilitating efficient development and maintenance in times of ever increasing scope and complexity."

Schaeffler Technologies AG

"We are able to get our product to market approximately 6 months sooner with Parasoft solutions than we could have if we had gone back to the testing vendor."

Bovie Medical