Insure Plus Plus
|
- The title of this article is incorrect because of technical limitations. The correct title is Insure++.
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 and Valgrind.
Insure++ can automatically find erroneous accesses to freed() memory, array bounds violations, freeing unallocated memory (which often happens when a programmer free()s the same memory twice, or when a he free()s 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 very likely to point into the second block, but depending on that would be a mistake */ *p = 'a'; /* invalid write (past the end of the first block) */ return 0; }
External links
- Parasoft's Insure++ site (http://www.parasoft.com/Insure)