November 22, 2002 — More than two years have passed since Compuware last issued a major feature update to its DevPartner Java Edition development productivity tool. But Bob Michaud, product manager for DevPartner Java Edition, hints that version 3.0 was well worth the wait: "Yes it was a tough and long wait, but we believe now, and from early indications from our beta program, that we've got something really important here."

DevPartner Java Edition still identifies runtime errors, memory problems, and performance bottlenecks, as did its predecessor, NuMega DevPartner 2.0 Java Edition. But with 3.0, Compuware has completely rebuilt the tool, adding a browser-based UI (user interface); live memory analysis as well as analysis of multithreading, performance, and code-coverage; and distributed application support. With all DevPartner's new enhancements, Michaud points to the product's personalization features as perhaps version 3.0's most important contribution.

"The goal was to personalize the use of the product as users drive it so it fits how they solve problems," says Michaud. "Because the closer DevPartner can fit to how users think and consume information, the quicker they can solve problems."

For example, users can choose to view DevPartner's reports as just raw data, as graphs, or as explanations that detail the meaning behind the data. In addition, DevPartner offers both inline and online help with links to experts and tips for solving performance problems.

DevPartner Java Edition pinpoints performance bottlenecks automatically. Click on thumbnail to view full-size image.

Solving problems are what productivity tools are all about, says Michaud, not just regurgitating data: "Okay it's a bad-performing application. Does the developer even know where to start? We provide the prioritization to help developers understand if they were to change a particular component, where they're going to get the biggest bang for their buck."

Michaud also singles out DevPartner's live memory analysis as another key enhancement. Previous DevPartner editions just provided memory snapshots, but 3.0 gives developers a look at the live heap, which allows developers to view their programs at a higher level. "Java is a fourth generation language, as some people call it, but it's so far removed from hardware and memory," explains Michaud. "How do you explain to Java programmers what to do in their code? Fine, it's eating memory, now what? Java code doesn't use memory, it uses objects. We try to take a step further. We don't show only object-to-memory mapping, we don't just show the line of code using objects, we try to put it in a larger context."

DevPartner's live memory analysis gives developers a detailed look at their object instances. They can more easily see how temporary objects affect performance or spot memory leaks caused by unreleased objects, with the goal being to more efficiently locate and fix faulty code.

Martin P. Smith, chief software architect with Beansmith Technologies, a company that provides Java software development and consulting, agrees version 3.0 eases the testing and tuning process. "The 3.0 product is a major improvement over 2.x," he says. "One major improvement that stands out is that the different tools are now integrated in a single product. Overall I am very happy with the new version. Performance testing is now easier to configure and perform than with the prior versions."

Theresa Lanowitz, research director, applications development at Gartner, says that debugging/testing tools should be a staple in a developer's toolbox. "All developers can use help in coding. Most won't admit it, but it's true. Tools such as Compuware's DevPartner Java Edition, Sitraka's JProbe [recently acquired by Quest Software], and Borland Optimizeit help developers produce cleaner and more reliable source code. Ultimately, that cleaner source code delivers a more positive experience for the customer of the application."

She also notes that as Java developers and the Java market matures, the products in these categories will continue to mature in tandem: "These products are becoming more technically proficient at working with distributed applications by offering analysis on code coverage, memory, and performance."

With version 3.0's personalization and enhanced analysis features, plus its resources for problem solving, Compuware feels they it has an edge over its competition. Michaud acknowledges that previous versions of DevPartner didn't really differ much from competing products and wasn't really serving all customers' needs. "We found some approaches that cost us some," he says, "but in the end, we have a truly differentiating product here."

Learn more about this topic