DevX Skillbuilding for IBM DeveloperWorks
DevX Skillbuilding for IBM DeveloperWorks
DevX Skillbuilding for IBM DeveloperWorks
Get regular email alerts when we publish new features!
DevX Update for IBM developerWorks

More Newsletters

Rational PurifyPlus Delivers Unique SOA Benefits

If you need to test and insure the quality, reliability, and robustness of SOA applications, components, libraries, and services written in native C/C++, or a mixture of Java and C/C++, you can't live without IBM Rational PurifyPlus. 


Do you know if the memory storing the critical data for your customer's business transaction has been corrupted? Do you know if your customer's critical data was read from or written to the right memory location? When you run your test scripts are you sure all the code is being exercised? Is garbage collection occurring so frequently, it is impacting the overall performance of your software? Are the class libraries and the components someone else wrote but you are using free of these types of problems? Are you sure?

The complexity and level of sophistication of today's software applications demands that you know how well your program is running and what is occurring within the code. Without this level of information, how can you ever hope to create and deliver the best software possible? Mistakes as well as improper use of threads, memory, components, and other system resources impact more than just the overall performance of any system—it can prevent you and your customers from keeping mission critical business programs up and running. Even worse, if the software you created causes a computer system to crash due to a problem that should have (and could have) been caught long before the code was deployed, it can negatively impact the confidence and trust of your customers and users.

Producing and delivering high quality code, capable of optimal performance, starts with you—the developer. It relies on your ability to analyze and determine how well your software is written and how fast and efficiently it runs, long before it ever gets to the QA department or the end user. Well written code is tight, bug free, and able to efficiently allocate, use, and free memory and other system resources during execution. Even within Java programs, where Java manages constructs like pointers and array initialization, memory can be improperly handled by referencing objects that aren't used or allocating large chunks of memory for a specific, limited use, and then failing to release the memory after the routine completes. This degree of analysis and assessment is not only required for the code you develop, but for the code you are accessing (or no longer accessing) or code written by someone else that you are relying on or combining with your own code.

Broad Set of Features Designed for Developers
IBM Rational PurifyPlus is a suite of developer test tools specifically designed to be used by developers. Developers are able to interpret and analyze the results more accurately than testers. The suite works with your own multi-threaded and multi-processing applications as efficiently as it does with third party software. It can help you find even obscure errors that are often hard to catch in today's sophisticated and complex applications.

IBM Rational PurifyPlus is best suited for pure C/C++ environments as well as those environments using a combination of C/C++ and Java code, since the same tool can be used to test the nuances and features of both languages. It can be used as a stand-alone tool suite, integrated inside Microsoft Visual Studio .NET, or alongside any other IDE including Eclipse and Rational Application Developer. It is also integrated with other IBM Rational tools including IBM Rational Robot and IBM Rational ClearQuest.

IBM Rational PurifyPlus is comprised of four functional components used to analyze the quality, robustness, and overall health of your applications:

  • Memory corruption detection to automatically identify hard-to-find bugs
  • Memory leak detection to analyze how well you are allocating, using and freeing unused memory
  • Performance profiling designed to find and highlight performance bottlenecks
  • Code coverage analysis designed to test every line of code so you never ship any untested code

IBM Rational PurifyPlus analyzes your code at runtime following the logic paths of your code as it executes. The tool works on code you write as well as shared libraries and components you use—even when you don't have the source code. It can detect and pinpoint memory corruption and flag memory leaks and places where garbage collection is running more often than necessary due to inefficiencies in resource handling and allocation.

IBM Rational PurifyPlus creates and saves a graphical representation of each call your application makes and documents how your code traversed a given logic path. It lets you take snapshots of your code while your program is running. PurifyPlus reports show you the extent of code coverage in your test suite and can also show you code that your test suite didn't exercise. When the error-checking portion of PurifyPlus reports that there are no errors, you and your auditors can be confident that the code you produce is really error-free.

IBM Rational PurifyPlus is an industrial-strength, enterprise-class tool suite that is highly useful for SOA applications since code quality is especially important when you are assembling components and using components and sections of other people's code. It lets you test the performance and reliability of components you are using so you can avoid problems or system failures—even if you didn't create the code.

If you aren't familiar with this tool suite, you will be pleased to know that it is well engineered and easy to use. An intuitive user interface simplifies the process of activating the commands needed to analyze your code. You can set IBM Rational PurifyPlus to automatically instrument and check your code without having to first traverse the large number of menus or perform the types of checks required by other code analysis tools.

Key runtime elements of the application are visually represented, so you can easily follow and comprehend your code's path of execution. IBM Rational PurifyPlus displays annotated source file for you. It uses graphical displays and different colors to highlight lines of code so you can easily identify which lines of code were successfully tested, completely missed altogether, or partially executed during the testing process.

As IBM Rational PurifyPlus tracks critical portions of your code, the visualization features graphically identify what specific calls were made, the portions of code that actually ran, and the exact path of execution. Visualization features help pinpoint those locations where there are bottlenecks impacting the overall performance of your code.

You have to agree, the best time to catch most errors is as early in the development cycle as possible. Let IBM Rational PurifyPlus help you uncover hard to find bugs and evasive problems that are often difficult to resolve in your own code. Use it to test the code, components, and routines created by other people and vendors so you can create your SOA solutions with confidence or just reap the economic advantages of using off the shelf software. Most of all, consider IBM Rational PurifyPlus as one of the best tools you can use to deliver more robust, fully functional, high performance software products to your users and customers.

   
Rikki Kirzner is a freelance writer and veteran computer industry professional with experience as an analyst and former Research Director for IDC, Gartner Group, and Meta Group and as a Senior Editor with Open Computing Magazine. Rikki covers software, development, open source, SOA, and mobile computing.