Misplaced Pages

Insure++

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
Memory debugger software
Insure++
Developer(s)Parasoft
Initial release1993; 31 years ago (1993)
Stable release2021.2 / October 28, 2021 (2021-10-28)
Operating systemCross-platform, Linux, Solaris, Windows
Available inEnglish
TypeProfiler / Memory debugger
LicenseProprietary commercial software
Websitewww.parasoft.com/products/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, Valgrind and Dr Memory.

Overview

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.

See also

References

  1. ^ "A Survey of Systems for Detection Serial Run-Time Errors" (PDF). Iowa State University High Performance Computing Group. Archived from the original (PDF) on 3 March 2016. Retrieved 20 September 2010.
  2. Metzger, Robert (2004). Debugging by Thinking: A Multidisciplinary Approach. p. 490. ISBN 1555583075.
  3. "Parasoft Insure++ at Parasoft website". Retrieved January 29, 2014.
  4. Reddy, Martin. API Design for C++. p. 239.
  5. Lier, Matthias (20 November 2010). Tools for High Performance Computing. p. 147. ISBN 978-3642112904.

External links


Stub icon

This programming-tool-related article is a stub. You can help Misplaced Pages by expanding it.

Categories: