R E L A T E D   C O N T E N T
Jargon Buster

ADVERTISEMENT

Interview: Nip software flaws in the bud

Wintellect co-founder John Robbins says the success of Web services will depend on careful software planning and testing

Lem Bingley, IT Week, IT Week 16 Dec 2002
ADVERTISEMENT

Like many people with a professional interest in software quality, John Robbins, co-founder of software consultancy and training company Wintellect, hopes the economic slowdown will have a silver lining. He argues that current efforts to minimise waste are encouraging businesses to build new applications more carefully than they might have in the past.

Robbins' role at Wintellect frequently puts him at the sharp end of software flaws - fixing vital systems that have malfunctioned or ground to a halt. This troubleshooting role has given him an in-depth knowledge of the source of software flaws which, he says, is all too often simply a case of "CFTL: code first, think later".

He says that familiar coding problems such as buffer overruns occur with numbing regularity. This is despite the fact that tools - like Compuware's BoundsChecker, which Robbins helped to develop - can easily eradicate them. "Visual C++ version 7 includes buffer-overflow prevention," he notes. "The trouble is, Microsoft did such a great job marketing its recent batch of tools as being for Web services purposes [that many companies] have stuck with older, more vulnerable tools because they think, 'Hey, we're not doing Microsoft dot-Net, so why bother upgrading?'"

The arrival of Web services provides a valuable chance to re-architect, Robbins says, but he cautions that Web services platforms like Microsoft's dot-Net should be regarded with healthy scepticism - particularly if Web services are to be used across business boundaries.

"Who has done the testing [of a Web service]?" Robbins asks. "Who assesses whether it is reliable, scalable and has the correct functionality? How do you know about the quality of testing in terms of code coverage?" He suggests that unless the user of a Web service takes steps to find out, the likelihood is that there will be no answers to these key questions.

For those firms that might offer Web services, even for internal use, Robbins sounds a similar note of caution. "Today, there are some clean languages so productivity is high. It's all too easy to add extra functions. But before you put that XML layer on top of your database, let's step back," he says. "[Badly planned] Web services could make DLL hell look like a walk in the park."

As most IT managers are all too aware, "DLL hell" arose when applications began to be implemented using shared libraries of functions, linked into the main program at run-time. Any changes made to these dynamic-link libraries (DLLs) by one program would affect others. Installing a new application could cause another unrelated program to malfunction.

Web services apply a similar model on a larger scale. Before altering a Web service, a provider should therefore evaluate the impact of the proposed change. That will rarely be a trivial task, so changes ought to be kept to an absolute minimum, Robbins argues. "[Web services] interfaces have to be designed to last at least five years - not three months," he says.

This situation puts great emphasis on software design, planning and testing. Unfortunately, Robbins says, few development teams are up to the task. "Most application developers are client-side focused [but] now they're going to develop services? Mission critical, server-side services?" he asks. "[Personally] I was surprised at how many bad assumptions I brought with me [from PC programming] when I started doing server-side work."

Better design and testing is the only solution, Robbins warns: "QA [the quality assurance function] has to become the equal of coding - and that means paying testers the same [as developers] or better." He also argues that the QA department must get involved throughout the software-creation cycle, not just at the end. "If they know the primary business functions, then they can make decisions about creating a strong test plan," he says.

"Too many businesses don't think enough about quality," Robbins summarises. "You should ask yourself: how does the quality of your internal systems compare with shrink-wrapped software?"

Have your say: reply to IT Week

ABOUT JOHN ROBBINS
John Robbins is a co-founder of software consultancy and training company Wintellect, and leads its debugging services unit.

He writes a regular column, called Bugslayer, for MSDN Magazine.

Before founding Wintellect, Robbins worked for development tool vendor NuMega, now part of Compuware, and also served in the US armed forces as a Green Beret.

See also:

Web servicesExploring the emerging Web services model and its impact on e-business  30 Mar 2003

All Developer

Like this story? Spread the news by clicking below:

Post this to Delicious del.icio.us    Post this to Digg Digg this    Post this to reddit reddit!

Permalink for this story
M A R K E T P L A C E
Get your free demo of Numara Track-It! 8 - the leading help desk solution for IT related issues.
Make presentations, review documents & share your entire desktop. 30-day free trial! (cc required).
Discover how remote support can fuel your IT business in ways you've never thought of before.
Apply ITIL best practices at your service desk while eliminating integration cost. Learn more here.
WAN based, automated, daily vulnerability assessments. Click here to try and request our whitepapers.
Have your product or service listed here >   
Sponsored links
F E A T U R E D   J O B S
| Aston Carter
Skills required: IT Service desk experience, Windows Desktop I am seeking a talented Service Desk Analyst to provide 1st and 2nd line helpdesk support in a rapidly expanding financial environment. My client is one of ... more >
| Aston Carter
Skills: FX Options/Cash - C++ Developer - Unix - STL - Multithreading - Boost - FIX My client are massively recruiting within the FX Options/Cash space. They desperatley require a strong C++ on Unix developer ... more >
| Aston Carter
C++, UNIX, STL, Mulithreading, Design, UML Preferred Skills: Sockets, Multithreading, Parallel Programming, STL, UML, Design Patterns My client is currently looking for a C++ developer to begin Greenfield work on a trading platform. This product ... more >
| Aston Carter
Junior Python Developer - SQL - Functional Programming - Javascript - Django - Perl - Ruby - MVC My client are a startup software house that specialise in online gaming. The team is small and ... more >
More job opportunities