Reference articles on history, science, culture and more
Encyclopedia

Insure++

Memory debugger software

Insure++ is a memory debugger computer program, used by software developers to detect various errors in programs written in C and C++. It is made by Parasoft, and is functionally similar to other memory debuggers, such as Purify, Valgrind and Dr Memory.

01Overview

Insure++ can automatically find erroneous accesses to freed memory (use-after-free situations), array-bounds violations, freeing unallocated memory (which often happens when a programmer frees the same memory twice, or when he frees global or stack memory), and many others.

Unlike Purify and Valgrind, Insure++ inserts its instrumentation at the source-code level, which allows it to detect errors that the other tools miss. In particular, Insure++ can detect buffer overflows in automatic arrays, and overflows which involve pointers that accidentally "jump" from one valid memory region to another, as in the following example:

#include <stdlib.h> int main() { char *p = malloc(1024); /* first dynamically-allocated block */ char *q = malloc(1024); /* second block */ p += 1200; /* At this point, "p" is likely to point into the second block. However, false assumptions about the real behaviour lead to mistakes. */ *p = 'a'; /* invalid write (past the end of the first block) */ }

The source-level instrumentation allows it to not only identify that a leak occurred, but where it occurred. Some tools merely provide information about where the memory was allocated, Insure++ also gives a stack trace for when/where the actual leak occurred.

Additionally, Insure++ will produce Linear Code Sequence and Jump Code Coverage metrics for all tested code.

Watch videos about Insure++Explainers and documentaries on YouTube (opens in a new tab)

Sources and credits

This article is adapted from the Wikipedia article Insure++, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.

Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.