Featured Webinar: MISRA C++ 2023: Everything You Need to Know | Watch Now

Person typing on computer

C/C++ Runtime Analysis

Embedded C Runtime Analysis

Powered by Parasoft C/C++test, the most complete development testing solution for C and C++

Runtime Analysis for Embedded C Applications

Parasoft C/C++test finds runtime defects, stability issues, and security vulnerabilities, such as memory leaks, null pointers, uninitialized memory, and buffer overflows, by monitoring the runtime when running a host-based or embedded application, or executing unit tests written in C. The runtime component is extremely lightweight, requiring only small amounts of extra code and data space. This is ideal for use cases in the automotive industry to address ISO 21434 cybersecurity requirements that expose blind spots in road vehicle software.

How Does It Work?

Parasoft C/C++test automatically instruments an application’s codebase to activate monitoring when the application is running, identifying serious defects, stability issues, and security vulnerabilities, 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

Parasoft C/C++test’s runtime analysis provides predefined test configurations to support both native and embedded applications with C-style memory allocations (malloc / free). Runtime analysis can be performed during both unit testing, to validate specific scenarios and execution paths, and functional testing, to monitor the fully integrated application.

Defects that have been found during runtime testing can be presented directly in the developer’s IDE, and correlated with other test results and quality metrics, such as code coverage or static analysis findings from Parasoft C/C++test, so the user can get a complete picture of the tested application, making it easier to understand the root-cause of runtime defects.

Features

Benefit From the Parasoft Approach

Identify Real Defects and Security Vulnerabilities Early, During Unit and Integration Testing, in the Original Runtime Embedded Environment

Runtime defects in embedded environments are often difficult to reproduce on a host platform (and often difficult on target platforms too). By monitoring the runtime execution of an embedded application, in the original embedded runtime environment, Parasoft helps you uncover real-world defects in your software.

Understand the Root Cause of Defects for a Preventative Approach

By correlating runtime defects with static analysis results, Parasoft gives users visibility to understand and identify the root cause of defects. This helps teams apply preventative practices across the entire codebase to uncover additional hidden defects and reduce the appearance of defects in the future.

Find More Bugs When Unit Testing

Unit testing is a critical testing practice to ensure that your code performs as expected under conditions that are difficult or impossible to reproduce when the application is fully assembled. Parasoft C/C++test enables you to leverage runtime analysis during the execution of unit tests, to uncover runtime issues that are buried within the application that you can’t easily reproduce within your pre-production environment.