The problem of misunderstood code
- By Jack Vaughan
Everyone gets the great opportunity some time: To go over someone else's code, usually someone long departed, and to try and make sense of it. Pacing and a throwing of hands in the air are often a part of the process.
As with most problems, there are tools that can help. A look at a recent release shows some of the directions such "inspection" software is taking. For example, Compuware's Xpediter/DevEnterprise 4.0 is aimed at the mainframe, because for mainframers, the problem of misunderstood code is quite acute.
"This is an analytical tool," said Mark Schettenhelm, product manager at Compuware. "It's for mainframe apps using CICS, batch, Cobol, PL/1, Assembler, DB2 or IMS." Associated with a suite of debugging tools from Compuware, Xpediter/DevEnterprise 4.0's goal is to find bugs before they are created. "It is an odd thing perhaps for us to say, but we'd like [developers] to not have to have things to debug," said Schettenhelm.
An improper understanding of applications is a major cause of bugs, said Schettenhelm. Surely this was born out by the massive Y2K conversion experience of many developer shops. For financial developers, the Euro conversion followed. Some retail concerns are now looking at the bar code field conversion problem, which is due in 2005. [See the related story, "Bar code the door: Tweak means more overtime for developers"] Of course, simple field extensions and the like happen every day. And they often cause integrated apps to crash in unexpected places.
As apps get increasingly tied together, you may not be aware another app is using your data. "You make a change in a field and test [it], and everything is fine," said Schettenhelm. "But as soon as you roll into production, somebody else ties in and they have a problem. An app of someone across the country blows up and they are mystified because they didn't change anything."
Fear of such events often causes development managers to avoid change altogether, he noted.
Xpediter/DevEnterprise analyzes and understands critical components in applications, assisting in the identification of business logic. It also provides insight into how an application change could impact multiple applications. The new version of the software adds Metadata Analyzer capabilities. Together with other suite elements, these let you identify the impact of changes across applications. Besides multiple-user, cross-application analysis, Version 4.0 enhances support for PL/I and Assembler programs, in addition to the existing Cobol support.
"We want to get at the root problem to understand the app," said Schettenhelm. "Too many times, the app is a black box. If I have something that goes through there and charts the data flow, it's not so scary anymore. The idea is to eliminate the surprises."
Some industry observers see a looming shortage of Cobol programmers. Just as troubling is a shortage of people with application knowledge. Tools like Xpediter/DevEnterprise can help people to get up to speed on the application more quickly, which may be a bigger part of some developers' jobs in years to come.
For other Programmers Report articles, please go to www.adtmag.com/article.asp?id=6265
Jack Vaughan is former Editor-at-Large at Application Development Trends magazine.