Runtime Analysis and Memory Error Detection for C and C++
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.
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.
Get a quick overview of how Parasoft Insure++ can help ensure the integrity of your applications' memory usage.
Parasoft Insure++ is available for node locked or concurrent licensing. Please contact us to learn more about which edition best suits your organization's environment.
- Forte Developer
- Sun Studio
- GNU gcc/g++
IBM AIX, PowerPC 32
and 64 bit processor
- IBM Visual Age
- IBM Visual Age (xIC compilers)
- GNU gcc/g++