Rational PurifyPLUS > Dynamic Software Analysis
IBM Rational PurifyPlus software
is a complete set of run-time analysis
tools designed for improving application reliability and performance. The
PurifyPlus software combines memory
error and memory leak detection,
application performance profiling, and
code coverage analysis into a single,
complete package. Together, these
functions help developers ensure the
highest reliability and performance
of their software from its very first
release. (Developers also have the
option of using IBM Rational Purify software, which can be purchased
separately, for a dedicated memory
error and memory leak detection tool
set. The PurifyPlus solution adds performance profiling and code coverage
- Pinpoints hard-to-find bugs
- Highlights performance bottlenecks
- Identifies untested code
- Instruments an entire application or only selected modules
- Supports Microsoft Windows, UNIX and Linux environments
- Supports Java, all managed Visual Studio .NET languages, Visual C/C++, Visual Basic and ANSI C/C++
- Works with or without source code
Runtime analysis with Rational PureCoverage (part of PurifyPlus - click to enlarge)
Rational Quantify call graph of a mixed VB.NET and C#.NET application in Visual Studio (click to enlarge)
Overview of thread status and memory usage in Rational Purify (click to enlarge)
is a runtime analysis tool suite that monitors your program as it runs and reports on key aspects of its behavior:
- How much memory does it use?
- Does it leak memory?
- Does it contain memory access errors?
- How long does it take to run; where are the bottlenecks?
- What is the thread running/sleeping behavior?
- How much of the source code is actually running?
These key analysis features are all separate from the core "correctness" question: "Does it work?" and "Does it produce the right answers?" Testing can show whether your program works at all, but it takes runtime analysis tools like PurifyPlus to bring all these types of problems to light.
The major components of PurifyPlus are:
- Purify for memory usage tracking and memory error detection
- Quantify for performance analysis, code flow, and thread visualization
- PureCoverage for source code coverage analysis
- Develop high-quality code faster
- Make developing on a team easier
- Do more in your IDE
- Significantly decreases debugging time
- Improves memory utilization
- Improves execution reliability
- Identifies where the time is spent in an application
- Determines where the gaps are in test suites
- No recompilation is needed to analyze code
- Provides dynamic software analysis for a wide variety of application development environments
- Reduces instrumentation and runtime overhead
- Supports automated testing frameworks
- Operating systems: Microsoft Windows (2003 server, XP, 2000); Linux x86/x64 (RedHat, Suse); UNIX (Solaris SPARC/x64, HP-UX, AIX)
- Language and compilers: C/C++, Java, .NET (C#, Visual Basic, C#, J#)