Free Newsletters
Technology & Business Daily

InfoWorld
Log-in | Register

DevPartner 7.1 is a powerful programmers suite

Compuware’s debugging, analysis, and profiling tool provides deep insight into .Net and Win32 code

By Jon Udell  
November 26, 2003
 

The transition to Microsoft’s brave new world of managed code will probably take a decade, during which time Windows programmers will struggle with the complexities of a hybrid managed/unmanaged environment -- both in the Windows OS itself and in the componentized applications and services layered on top of it. Instrumenting these very different programming environments -- so that developers can analyze, profile, and more effectively debug programs straddling the unmanaged and managed worlds -- is a big challenge that Compuware's latest offering, DevPartner Studio 7.1, tackles fearlessly.

Free IT resource

Hear how top CIOs turn change into a competitive advantage.

Sponsored by HP

Free IT resource

Attend the SOA Executive Forum: Breaking SOA Bottlenecks SOAExecForum.com/may2007

Sponsored by InfoWorld



DevPartner Studio Professional Edition 7.1

Compuware, compuware.com

Very Good  8.3
criteria score weight
Ease-of-use 7 30%
Implementation 9 30%
Integration 9 30%
Value 8 10%

Cost:
$1,495

Platforms:
Windows 2000, XP, 2003; IIS 5 or later; Visual Studio 6, .Net 2002, .Net 2003

Bottom Line:
DevPartner Studio 7.1 adds .Net memory analysis and enhanced .Net source code analysis to what was already a commanding suite of tools for the professional Windows programmer. The wealth of capabilities will take time to master, but will repay developers working across the full range of Microsoft programming technologies.

About our Reviews and Scoring Methodology

The DevPartner suite, which integrates deeply and gracefully with Visual Studio .Net 2002 or 2003 (I tested with both versions of the integrated development environment), supports the following activities in addition to run-time error detection: source-code review, code coverage analysis, memory analysis, profiling, and analysis of distributed applications. To perform one of these activities, select it on the VS .Net toolbar, optionally adjust the instrumentation that DevPartner will insert (in the case of unmanaged code), then debug (or in some cases just run) the application, and analyze results in the VS .Net document pane. Resulting data files accumulate, by activity type, in DevPartner’s Solution Explorer.

To exercise the suite, I worked with open source indexing and search engine NLucene, which is a C# port of the popular Java-based engine, Lucene. I used DevPartner Studio to analyze the NLucene library, to analyze a program that indexes a batch of HTML files, and finally to analyze an ASP .Net application that searches that index.

Reviewing the Source

The source-code review feature, available for C#, VB .Net, and VB6, scanned the C# files and produced a report that was sometimes pedantic, and sometimes cogent and educational. Warnings about recursion, hard-coded strings, or member-variable names fall into the pedantic category. I assume developers are grown-ups who understand the consequences of these choices. Much more interesting are warnings that teach developers about platform subtleties. The warning ("Type not excluded from use by untrusted code") falls into this latter category. When an assembly is unsigned, as my build of NLucene was, you can still enforce trusted access by adding appropriate attributes to the source code. DevPartner identified the problem and illustrated the fix -- a nice example of how an intelligent automated assistant can work with a developer to improve code quality.

Some of the rules that drive code review are hard-coded into DevPartner, but others are available for inspection and modification in a rules editor. A shop that wants to enforce its own naming conventions, or classify new coding idioms, can do so. Compuware could, and arguably should, host a service for developers who would like to collaboratively define and share such patterns. The .Net CodeDOM, which, as the name implies, is a document object model for parsed code, suggests another intriguing possibility. Currently DevPartner's rules editor relies on regular expressions to define the patterns that trigger warnings. In theory, CodeDOM will enable higher-order pattern recognition that's also independent of the source language. I'll be interested to see if a future DevPartner release exploits that opportunity.

Analysis From All Sides

Using the DevPartner profiler to explore the behavior of NLucene during the indexing phase, I uncovered no surprises but made some interesting observations. The split between time spent in application vs. system code, for example, was 75:25. Most of the 25 percent spent in system code was in the .Net run time (22 percent), only a little in the Windows kernel (3 percent). At a method level within NLucene, low-level I/O was the dominating factor. I learned that my use of an option to optimize the generated index (by merging segments) cost very little extra time.

A snapshot of memory use while running the indexer showed me how the optimizer's consumption of memory was spread among short-, medium-, and long-lived objects. I was also able to invoke the garbage collector and observe its effects. Why bother? It's true that .Net's generational garbage collector will eventually clean up your act in most cases, but in the managed environment you still need to use memory responsibly. The ability to find out which objects hang around longer than they should is of tremendous value to the .Net programmer -- or, for that matter, to the Java programmer, to whom Compuware's DevPartner Java Edition offers similar capabilities.

Once the index was built, I created an ASP .Net-based Web form to search it. Then I fired up the distributed analyzer, which injected itself into the browser's process and also the Web server's ASP .Net process. From these vantage points, it collected an astonishing wealth of event detail as I ran the application. DevPartner showed the interplay between native and .Net code, the flow of events as the browser makes the request and the server handles it, and much more. Here, as everywhere in DevPartner studio, vast quantities of data are reduced to a clean and effective set of linked information displays that are easy to understand, navigate, and customize.

Although DevPartner Studio's newest features are .Net-related, you can also still use all of its pre-existing features for analyzing COM and ActiveX code written in C or C++ and for validating Win32 API calls. The ability to explore both the .Net and "legacy" realms deeply — and simultaneously — is a powerful asset that's likely to remain valuable for a long time to come.





 


 
Jon Udell is lead analyst and blogger in chief at the InfoWorld Test Center.

  More of Jon Udell's column
  Jon Udell's Weblog

Newsletter Check out all of our free newsletters!
Enter e-mail address:




 

TOP NEWS:


»  Parts of San Francisco network still locked out
Administrators are still locked out of the city's VoIP system and LANs within the Sheriff's Department and the Recreation & Park Department

»  Intel says Moblin update coming soon
Open-source effort set for mobile Linux should have an alpha-level release in a few weeks

»  Are virtual firewalls a solution for VM security?
Virtual firewalls can be a useful security tool, but their efficacy depends heavily on how you have set up your networks

»  Ubuntu to unveil new version of Launchpad next week
Ubuntu's beta community still has a long way to go to achieve the popularity of competitors such as SourceForge.net

»  Oracle unveils access management suite
Oracle's suite includes a new server that provides controls to fine-tune user privileges

»  5 ways the iPhone 3G still lags in enterprise
Despite Apple's improvements, its iPhone 2.0 software remain less competent and less tested than its BlackBerry and Windows Mobile counterparts




Beyond AntiVirus: Symantec Endpoint Protection
Today's threats to the endpoint are much more dangerous as they rapidly evolve to evade traditional security measures. To combat these threats, companies should supplement existing security with proactive behavioral based technologies. Join this webcast to learn about Symantec's next generation AntiVirus solution that provides that level of protection. Sponsor: Symantec

»  Click here to view this Webcast
  Zombie PCs Are Attacking Your LAN
A recent study showed that malware-infected zombie PCs are now a bigger threat to ISPs and Web infrastructure than DoS attacks. As this brand new IT Strategy Guide explains, an increased use of peer-to-peer techniques by the attackers has made it harder to fight back. Download now, compliments of Verio:

»  Click here to download now

- Special Advertising Partners -
WHITE PAPERS
 

» Technology White Papers Library

Technology White Papers by Topic

Technology White Papers E-mail Alert

Find out when the latest white paper is available:
 
 
INFOWORLD MARKETPLACE
 
» BUY A LINK NOW
 

FIND PRODUCTS AND COMPANIES
» COMPLETE PRODUCT GUIDE



TECHNOLOGY INDEX
• Applications
• Application Development
• Security
• Networking
• Wireless
• Platforms
• Hardware
• Data Management
• Storage
• Web Services
• Business
• Telecom
• Professional Services
• Standards

TECH WATCH 


What's the 411 on GOOG-411?
Just as Google has become synonymous with "performing a Web search," 411 is understood to mean "information" -- as in "what's the 411?" I was thus surprised to discover, from a billboard, no less, that the king of search is taking on the ...

Apple HTML source reveals 'iPhone Extreme'
"This one's a stretch..." reports AppleInsider. Um, yeah. Reporting on HTML code sightings of product names could be called a stretch, but iPhone Extreme has a ring to it. Now, that sounds like the product Apple should have released first, rather ...

COLUMNISTS

Unified under law
Ephraim Schwartz's Column and Blog (InfoWorld) - In the litigious world we live in, deploying a unified communications platform in your enterprise could...
» MORE COLUMNISTS

MORE INFOWORLD BLOGS


Open Sources 
Product Management
When I joined MySQL four years ago, there was quite a lot of debate about product management. We didn't actually have ...

Zero Day 
Botnet herders tending smaller flocks
New research backs up the theory that botnet operators are keeping their networks smaller in a continued effort to keep ...



• Advice Line
• Database Underground
• The Deep End
• Enterprise Mac
• Geeks in Paradise
• Grid Meter
• The Gripe Line
• InfoWorld Daily
• Inside IT
• IT Troubleshooter
• ITXtreme
• Open Sources
• ProdBlog
• Real World SOA
• Reality Check
• Security Adviser
• SMB IT
• The Storage Network
• Tech Watch
• Virtualization Report
• Zero Day

ADVERTISEMENT


RESOURCE CENTERadvertisement 

GOVERNMENT IT & POLICY
'If you don't go after the network, you're never going to stop these guys. Never.'
From the State Department, All the News for Inquiring Minds
TechPresident, the Internet Citizenry's New Consensus Taker



Sponsored Technology Links

 
 
 HOME  NEWS  BLOGS  PODCASTS  VIDEOS  TECHNOLOGIES  TEST CENTER  EVENTS  CAREERS   About | Advertise | Awards | RSS | Contact Us 

Copyright © 2008, Reprints, Permissions, Licensing, IDG Network, Privacy Policy, Terms of Service.
All Rights reserved. InfoWorld is a leading publisher of technology information and product reviews on topics including viruses,
phishing, worms, firewalls, security, servers, storage, networking, wireless, databases, and web services.

CIO :: ComputerWorld :: CSO :: Demo :: GamePro :: Games.net :: IDG Connect :: IDG World Expo
Industry Standard :: IT World :: JavaWorld :: LinuxWorld :: MacUser :: Macworld :: Network World :: PC World :: Playlist