Parasoft Insure++: C/C++ Runtime Error Detection Testing Tool

Parasoft Insure++

Parasoft® Insure++® identifies difficult-to-track programming and memory-access errors, such as memory corruption, memory leaks, access outside of array bounds, invalid pointers, and more to ensure the integrity of your applications’ memory usage.

  • Finds memory errors before they become runtime problems
  • Finds common errors during 64-bit porting
  • Helps optimize memory usage of applications
  • Easily integrates with regression test suites in “smoke alarm” mode
  • Provides detailed stack traces of errors to help understand their causes

Why Insure++?

Memory Error Detection

Errors such as memory corruption, memory leaks, access outside of array bounds, invalid pointers, and the like often go undetected during normal testing, only to result in application crashes in the field. Insure++ exposes such defects—enabling you to quickly pinpoint and remove the cause of erratic runtime behavior such as mysterious crashing and hanging. Insure++ automatically identifies the industry’s broadest spectrum of difficult-to-track programming and memory-access errors, along with potential defects and inefficiencies in memory usage.

Unparalleled Depth and Precision

Patented Source Code Instrumentation technology enables Insure++ to detect errors that other memory error detection technologies miss—for example, memory corruption in all areas of your program, including heap, stack, static, and shared memory. Moreover, patented Runtime Pointer Tracking technology enables Insure++ to pinpoint the exact point where memory is leaked: when and at what line of code. This saves you the time and effort of stepping through the program manually to trace the leak.

Runtime Error Detection

During testing, Insure++ checks all types of memory references, including those to static (global), stack, and shared memory—both in your own code and in third party libraries. Errors detected include:
  • Corrupted heap and stack memory
  • Use of uninitialized variables and objects
  • Array and string bounds errors on heap and stack
  • Use of dangling, NULL, and uninitialized pointers
  • All types of memory allocation and free errors or mismatches
  • All types of memory leaks
  • Type mismatches in global declarations, pointers, and function calls

Compile-Time Error Detection

Insure++ can detect errors at compile-time as well as runtime. Compile-time errors detected include:
  • Cast of pointer loses precision
  • Mismatch in format specification
  • Mismatch in argument type
  • Code is not evaluated, has no effect, or is unreachable
  • Undefined identifier
  • Variable declared, but never used
  • Returning pointer to local variable
  • Function returns inconsistent value
  • Unused variables

Error Detection in Threads

Insure++ instruments all threads, tracks all processes in the application, and quickly pinpoints algorithmic anomalies, bugs, and deficiencies. This allows developers of multithreaded applications to rapidly find and fix the bugs that would otherwise remain hidden in threads and cause the application to perform incorrectly, or to fail to perform at all.

Dynamic Memory Visualization

Insure++ visualizes how an application uses memory—providing a graphical view of all memory allocations over time, with specific visibility into overall heap usage, block allocations, possible outstanding leaks, and so on. This insight into an application’s memory usage patterns allows you to effectively analyze and optimize runtime memory usage and performance.

Ultimate Error Detection

Memory Error Detection

  • Memory error detection industry leader since 1993
  • Find and fix erratic runtime behavior like sporadic crashing and hanging
  • Expose serious defects that have evaded all other testing efforts for years
  • Expose errors during 64-bit porting
  • Optimize application memory usage
READ MORE

Runtime Error Detection

  • Expose critical defects as the application is exercised
  • Works from unit testing through application/system testing
  • Reports only defects that actually occur
  • Lightweight and suitable for embedded testing
  • Integrated with static analysis, unit testing, code review & more
READ MORE

Supported Environments

Release Notes

Latest Release
REQUEST DEMO