Parasoft Logo Register | Log in  /  Contact us  /  Blog  /  Support  /  Downloads  /  /  888-305-0041  /  Language »

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.

Data Sheet

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.


"Problems that used 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++. So, Insure++ is now a standard tool that is used on all software that we develop before it is released. Our engineering team is very enthusiastic about it and management is convinced that it was well worth the money. We have told lots of our peers about Insure and will keep doing so."

David Miller

  read more
"Within only hours I was able to track down a nasty memory bug in my code that had plagued me for weeks. Insure++ is of tremendous help in debugging programs and it is very easy to use. "

Dr. Marcus E. Hennecke
Applied Research Laboratories

  read more
"Insure++’s ability to model applications at the source code level make its error detection capabilities unmatched in the industry. It has allowed us to find application defects that Purify and other tools were not able to find."

Chris Teague, Systems Administrator
Kinesix Corporation

  read more
"Insure++ is an indispensable tool for my development. It automatically finds all the otherwise hard-to-find bugs and memory leaks during compilation and runtime. Inuse is a graphical tool that comes with Insure++. During testing, I run my program with Inuse for a few days, non-stop. This way, I can be sure my program is free of memory leaks. I won't deliver my programs to customers unless I first check them with Insure++. I can't imagine doing development without Insure++. "

Chee Cheng
Chicago Tribune

  read more
"We're very happy with Insure++. This is a really good product that has saved my butt several times during the development of several large systems here... I work in a small (overworked) team with tight deadlines. We can't afford to waste days tracking down bugs. We depend on tools like Insure++ to quickly locate problems and let us get back to development. We use CodeCenter during initial development and Insure++ for quality assurance testing. All my dealings with Parasoft have been pleasant. I would not hesitate to contact to recommend your products to anyone who cares about the quality of the software they produce."

John Wendel, Computer Specialist
Branch of US Military

  read more
"We recently used Insure++ (Linux version) to detect memory leaks in our multi-threaded code and it was very helpful. It helped us to find a problem that had been nagging us for months."

Aniruddha R. Thakar
Johns Hopkins University

  read more
"I wanted my money to go towards a system that would find as many "hard to find "bugs as possible. I decided Insure would do me better, based on my evaluation. I know from past experience some of the hardest bugs to find are incorrect values and formatting strings passed to printf/sprintf, and random behavior caused by non-core dumping pointer overruns. So thanks for all the support, and I look forward to sleeping a little better knowing that I now have a tool that will prevent me from having to put a detective's hat on and crawl through code printouts with a magnifying glass just to figure out why variables are getting corrupted. "

Greg Ercolano
Digital Domain

  read more

“Parasoft Insure++ gives me the ability to analyze my content in the environment where it's being run as opposed to just looking at the code on paper. It forces you to verify that the standards and practices that are being used are absolutely pristine. One of the challenges as a project leader—or managing partner, like myself—is confirming that your team is writing code that meets high standards. It's extremely difficult to go through and double check every line of code. In fact, it's just not possible. Insure++ can help me verify that my team is writing code that meets my standards. Insure++ can allow me to guarantee results. I am really excited about that.”

Timothy W. Okrey, Managing Partner
BITTT Enterprises, Inc

  read more

Supported Environments

Microsoft Windows
(32-bit, 64-bit)

  • Visual C++

Linux 32 and 64 bit

  • GNU gcc/g++
  • Intel ICC

Solaris UltraSparc

  • 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++

Google+RSSBlogTwitterFacebookWikipediaLinked InYouTube Copyright © 1996-2014 Parasoft   |  Privacy Policy |  Site Map