Rational Purifyplus for UNIX
Total Page:16
File Type:pdf, Size:1020Kb
Develop Fast, Reliable Code Rational PurifyPlus for UNIX Customers and end-users demand that your Automatically Pinpoint code works reliably and offers adequate execu- Hard-To-Find Bugs tion performance. But the reality of your deliv- Reliability problems, such as runtime errors and ery schedule often forces you to sacrifice relia- memory leaks in C/C++, can kill a software bility or performance – sometimes both. And company’s reputation. These errors are hard to without adequate time for testing, you may not find, hard to reproduce, and hardest of all, to even know these issues exist. So you reluctant- explain to customers who discover them. No ly deliver your code before it’s ready, knowing one intentionally relies on their customer as good and well that the integrity of your work their "final QA." But without adequate tools, this may be suspect. is the inevitable outcome. Even the best pro- Rational Software has a solution for ensuring grammers make mistakes in their coding. that your code is both fast and reliable. Rational PurifyPlus for UNIX automatically finds HIGHLIGHTS Rational® PurifyPlus for UNIX combines runtime these reliability errors in C/C++ code that can’t error detection, application performance profil- Automatically finds runtime be found in any other way. It finds the errors ing, and code coverage analysis into a single, errors in C/C++ code even before visible symptoms occur (such as a complete package. Together, these functions system crash or other spurious behavior). And help developers ensure the highest reliability Quickly isolates application it shows you exactly where the error originated, and performance of their software from the very performance bottlenecks regardless of how remote from the visible first release. symptom of trouble. Graphically identifies untested Rational® PurifyPlus for UNIX integrates with Rational PurifyPlus for UNIX finds these kinds of code your existing development processes. It can errors even in third party components where operate with or without source code. You can you don’t have the source code. This enables Works with or without source choose to incorporate all of its functionality into you to better manage the quality of code that code your daily builds, or use just parts of it on an you deliver but didn’t write and don’t have easy ad-hoc basis. PurifyPlus for UNIX integrates access to change. with the development tools you use for UNIX No code recompiles needed application development. PurifyPlus for UNIX is PurifyPlus for UNIX includes the following easy to adopt, easy to learn, and easy to use. runtime error checking features: Instruments entire application, including 3rd party libraries If you need to develop UNIX code that is both • Pinpoints runtime and memory-related fast and reliable, PurifyPlus for UNIX is your errors in C/C++ code Defects can be entered into runtime analysis solution. • Works on your entire application, including Rational ClearQuest directly from the PurifyPlus GUI Rational PurifyPlus quickly pinpoints errors throughout your code. Develop Fast, Reliable Code third-party components—with or without Performance issues are not necessarily related source to algorithmic errors. An algorithm may be func- tionally correct and accurate, but simply ineffi- • Quickly analyzes your executables without cient in its implementation. There often exists requiring a recompile multiple ways to code an algorithm so that it is • Finds errors in C/C++ code including heap- functionally equivalent to the original yet related and stack-related errors, pointer notably faster in computer execution. PurifyPlus errors, memory usage errors and handle for UNIX identifies performance bottlenecks, errors allowing the designer or programmer to deter- mine if such optimizations are in order. • Fully integrated with code coverage analysis features of PurifyPlus for UNIX to identify When working on performance issues, it is criti- untested code cal to be able to measure improvements analyt- ically. The PurifyPlus "Diff" function enables • Lets you control the level of error checking developers or performance engineers to vali- per code module date the impact of changes on improvements in performance and scalability, even on small Highlight Performance Bottlenecks test cases. Performance issues—sometimes known as "the Rational PurifyPlus for UNIX provides a global, final bug"—often get minimal attention, and graphical view of the performance data you then only at the very end of the development need to quickly identify performance problems lifecycle. When the code finally "works," there is from the beginning of the development a tendency to prematurely deliver to the process. PurifyPlus for UNIX offers truly repeat- users—maybe because of schedule pressure, able and accurate results because it uses actu- or maybe because performance issues can be al clock or machine cycle counts rather than hard to find and even harder to resolve. the sampling methods used by traditional per- Rational PurifyPlus for UNIX gives developers a formance profiling tools. This reduces the diffi- tool that helps developers quickly isolate per- culty and guesswork of performance tuning formance bottlenecks within the application because it helps you to analyze precise per- and to understand their impact. Real perform- formance data and immediately focus in on the ance gains come from correcting or improving changes that will have the greatest perform- inefficient algorithms or detailed coding deci- ance impact. sions. PurifyPlus for UNIX offers repeatable per- PurifyPlus for UNIX includes the following appli- formance data (not just based on sampled cation performance analysis features: data) and clear, concise views of performance profile data to help developers identify the • Highlights application performance bottle- algorithms that are eating away at perform- necks in C/C++ code and Solaris-based ance. The PurifyPlus Call Graph, in particular, Java code highlights algorithmic performance data per thread basis. The Rational PurifyPlus graphical display of performance data makes it easy see which functions to ‘tune’ first, because thicker lines indicate more time consumed. • Quickly analyzes your executables without PurifyPlus for UNIX includes the following code requiring a recompile coverage analysis features: • Provides accurate, thorough and repeatable • Identifies untested code throughout C/C++ performance data on all functions, with or applications and Solaris-based Java appli- without source code cations • Allows the comparison of multiple versions • Quickly analyzes your executables without to immediately highlight the precise impact requiring a recompile of changes on application performance • Analyzes your entire application including • Lets you control the level of performance components, with or without source code data collected per module • Presents coverage statistics for each run of the executable, in an intuitive color-coded Avoid Shipping Untested Code display Any testing tool is only as good as the cover- • DIFF and MERGE capabilities automatically age provided by its test suite. But judging the allow you to compare and merge coverage quality of a test suite can be difficult. In particu- data from multiple runs of the same exe- lar, it is hard to know if you have tested all cutable for an aggregate view of coverage paths in which the code can execute, and if data not, what sections you have missed. You don’t want your customer to be the first to exercise • Fully integrated with the memory error and any portion of your application. But without memory leak detection features of PurifyPlus exhaustive testing efforts, that often happens. for UNIX Rational PurifyPlus for UNIX solves this problem • Lets you control the level of code coverage by allowing developers to see exactly what parts data collected per module of their code have been tested, and more impor- tantly, what parts have not been tested. A color- Instantly Become More Productive coded display shows the developer code cover- With Rational PurifyPlus for UNIX, you benefit age analysis results on a function or line-by-line not just from the power of the best-in-class fea- basis, even showing which code fragments on a tures described above, but also from the pow- particular line were (or were not) tested. erful integrations these tools offer. Everything Verifying test suite coverage (and improving on you need is integrated into one product. it where needed) is the best possible way to PurifyPlus for UNIX is designed to work within maximize the benefit of using Rational PurifyPlus your existing development environment, allow- for UNIX. PurifyPlus for UNIX makes it easy for ing you to develop fast, reliable code more pro- you to test your code coverage, whether you ductively. are checking for run-time errors, investigating Rational PurifyPlus for UNIX integrates with performance issues, or both. Verifying test suite Rational ClearQuest® for UNIX for reporting and coverage is the final step in guaranteeing that managing defects. You can submit defects your customer will receive the highest quality directly from the PurifyPlus for UNIX GUI, and code the first time, every time. then track them in ClearQuest. Incrementally Improve Code Unify Your Team With SPECIFICATIONS Reliability or Performance Rational Suite Supported Environments Rational PurifyPlus for UNIX consists of Rational Rational PurifyPlus for UNIX is included in Sun Platform Purify® for UNIX, Quantify® for UNIX, and Rational Suite® DevelopmentStudio™ for UNIX