Want to see Parasoft in action? Sign up for our Monthly Demos! See Demos & Events >>
Parasoft Insure++ is a comprehensive memory debugging tool for C and C++ software developers. You can find erratic programming and memory-access errors, such as heap corruption, rogue threads, memory leaks, array out of bounds, and invalid pointers. Using a state-of-the-art code parser and hundreds of heuristics, Parasoft Insure++ also analyzes the application code and reports on several possible static violations.
Parasoft Insure++ is a runtime memory analysis and error-detection tool for C and C++ that automatically identifies a variety of difficult-to-find programming, memory-access, and security errors, along with potential defects and inefficiencies in memory usage.
During testing, Insure++ checks all types of memory references, including those to static (global), stack, and shared memory in either the user’s code or in your third-party libraries.
Parasoft’s Insure++’s memory analysis capabilities are based on patented source instrumentation algorithms. Source code instrumentation enables Insure++ to detect more error types than other memory error detection technologies, and provides complete information indicating the root causes of the errors found, using a full database of program elements and memory structures. There are two ways to use Insure++ for memory analysis and error detection.
The first and most detailed analysis is achieved with full source-code instrumentation. This requires that application sources be compiled and linked with Insure++, which generates its own instrumented files that are passed to the actual compiler.
Without source code instrumentation, by linking your application object code and libraries with Insure++, the tool can “spy” on the kernel/application program interface to detect errors such as leaks, bad memory references, standard API usage errors, and so on.
During runtime debugging, Parasoft Insure++ checks all your memory references, including those to static (global), stack, and shared memory — both in your own code and in third-party libraries.
At compile time, Parasoft Insure++ detects errors by identifying deviations from C/C++ standards that may lead to memory leaks or application instabilities.
Parasoft Insure++’s coverage analysis enables the visual identification of which sections of code have been executed and which have not. This capability allows users to focus on testing use-cases for the areas of code that haven’t yet been exercised. Insure++ can also add a “hit count” to the basic blocks, showing how many times each block has executed to detect surprising performance bottlenecks.
Software developers get a graphical view of live data about ongoing memory usage and memory allocations over time with specific visibility into overall heap usage, block allocations, possible outstanding leaks, and so on. If a block has been leaked, you can see the allocation stack trace, as well as the stack trace where the leak occurred. The overall size of the heap is monitored, and various statistics are tracked like the number of allocation and deallocation calls.
Parasoft Insure++ reports any problems found. The detailed information you get includes the type of bug, source file and line number, actual source code line contents, expression that caused the problem, and information about all pointers and memory blocks involved in the bug. Software developers can also see pointer values, memory blocks pointed to, block allocation information, and the stack trace showing how the program got to the bug location.
Most projects are large and contain multiple files. Nevertheless, there are times when you will need to investigate only a handful of those files for suspected runtime violations. This is done when Parasoft Insure++ instruments the individual files that you decide to investigate. The individual files can then get linked to a non-instrumented executable. This finds errors in the files in question at the source level with minimum effort.
Problems that use to take us several days or even weeks to track down, we are able to routinely find and fix in a few hours with Insure++.
- Hewlett Packard