Jump to content

PurifyPlus

From Alfawiki
Adapted from the English Wikipedia article PurifyPlus, available under CC BY-SA 4.0Updated 9 August 2025
PurifyPlus
Company typeSoftware
IndustrySoftware development, Debugging tools
PredecessorPure Software
FounderReed Hastings
FateAcquired and sold multiple times; currently owned by UNICOM Systems, Inc.
Area served
Worldwide
Key people
Reed Hastings (founder)
ProductsMemory debugging utility
OwnerUNICOM Systems, Inc.

PurifyPlus is a memory debugging utility designed for software engineers to identify memory-related errors in applications, especially those developed in C or C++. Initially created by Reed Hastings at Pure Software, the product underwent multiple corporate transitions: Pure Software merged with Atria Software to become Pure Atria Software, which was later acquired by Rational Software, then by IBM, and finally sold to UNICOM Systems, Inc. on December 31, 2014. PurifyPlus is positioned against competing solutions such as Insure++, Valgrind, and BoundsChecker.

Overview

PurifyPlus performs dynamic analysis by detecting errors during program execution, differing from static analysis tools that identify problems without running the software. By linking with an application, PurifyPlus integrates verification routines into the executable and its libraries, enabling precise identification of memory faults with comprehensive details on their location and affected memory addresses. It also tracks memory leaks, producing summaries either at program termination or through its leak-detection API while the program runs.

The software detects issues including out-of-range array accesses, usage of uninitialized or freed memory, and memory leaks—errors that often go unnoticed during standard operation but can cause malfunction. Since PurifyPlus instruments all object code, it can reveal faults within third-party or system libraries frequently caused by incorrect parameters or improper data handling. These types of bugs are usually difficult to diagnose and fix, making PurifyPlus a critical tool for enhancing software dependability.

Differences from traditional debuggers

Unlike conventional debuggers, PurifyPlus excels in identifying non-fatal memory errors that are typically overlooked by debuggers. While debuggers concentrate on fatal faults such as crashes from null pointer dereferencing and facilitate manual code stepping or memory inspection, PurifyPlus supplements these capabilities by uncovering subtle memory-related defects.

Furthermore, PurifyPlus provides advanced high-speed watchpoints, which improve debugging productivity. It is particularly useful in programming languages requiring manual memory management. Conversely, languages like Java, Lisp, or Visual Basic employ automatic memory management systems that reduce the incidence of leaks—although leaks may still arise due to persistent object references. IBM’s Rational Application Developer addresses these managed-memory challenges.

Supported C/C++ platforms

Operating system Processor architectures Operating system versions Compilers
Solaris
Sun UltraSPARC Solaris 11 base through 11.4
Solaris 10 base through U11
Sun C/C++ 5.10 through 5.15
AMD64
Intel 64
Solaris 11 base through 11.4
Solaris 10 U6 through U11
Sun C/C++ 5.10 through 5.15
Linux
Intel IA-32 RHEL 9 (Server/Desktop) base through 9.4
RHEL 8 (Server/Desktop) base through 8.9
RHEL 7 (Server/Desktop) base through 7.9
SLES 15 base through 15.5
SLES 12 base through 12.5
GNU gcc/g++ versions 4 to 11
AMD64
Intel 64
RHEL 9 (Server/Desktop) base through 9.4
RHEL 8 (Server/Desktop) base through 8.9
RHEL 7 (Server/Desktop) base through 7.9
SLES 15 base through 15.5
SLES 12 base through 12.5
GNU gcc/g++ versions 4 to 11
Windows
Intel IA-32
Intel 64
AMD64
Microsoft Windows 10 base through version 21H1
Microsoft Windows Server 2019 Standard and Data Center editions
Microsoft Windows Server 2016 Standard and Data Center editions
Microsoft Windows Server 2012 Foundation, Essential, Standard, and Data Center editions
Microsoft Visual Studio from versions 2010 up to 2022


Compatible Java/.NET Platforms

Platform Type of Data Collection Execution Environment
Windows
C/C++ (native code) data acquisition Microsoft Visual Studio versions 2010 through 2022
Java code coverage acquisition IBM JRE versions 5 to 8
SUN JRE versions 1.5 to 1.8
.NET (managed code) data acquisition .NET Framework versions 3.0 to 4.5 utilizing Microsoft Visual Studio 2010–2022

See also

External links