Login | Register   
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


advertisement
 

Error-free Software Is in Reach, but Is Anyone Reaching? : Page 2

Software errors cost us billions of dollars and may soon wreak havoc on our day-to-day lives. Buggy software isn't inevitable, but the software development industry has some deeply entrenched and dangerous misconceptions that are preventing us from making defect-free software.


advertisement
Advances in Software Quality Through Error Prevention
The tendency to believe that software errors are unique precludes the notion that errors can be found and eliminated in a generic fashion. Studies indicate that groups of software developers make the same errors time and time again irrespective of the software they are trying to build. Software errors are not unique, and this is excellent news since it would seem to indicate that there must be a generic means of modifying the software development process so as to control the introduction of errors.

Some companies now incorporate automated software testing tools in the development process. Called "static analysis," this process puts the burden of error detection on machines by running an automated battery of tests that can reveal errors. There are several automated testing products on the market today, including Compuware's Boundschecker, Rational/IBM's Purify, and Parasoft's Insure++, but even automated testing is still testing after the fact. The true goal is to prevent errors before they happen.

Parasoft coined the phrase "Automatic Error Prevention" (AEP) to describe that preventative next step. AEP takes the results generated from automated testing and connects the errors found during automated testing, to the practice that introduced the errors. AEP can then automate the procedures that prevent the error from recurring. The idea is that each error should occur once and only once.



In Japan, IBM's Technical Competency group has been using Jtest from Parasoft to improve the quality of Java application development. Before implementing Jtest, the testing phase for a group of 20 to 30 programs took 3 to 4 man-weeks. Now the same testing process can be completed in less than half a day by a single individual.

Users not only find errors automatically, but ensure that test results are used to improve the process and make quality progressively better. AEP is actually finding errors and automatically enforcing procedures that prevent recurrence. An extensive pilot using this methodology proved to be successful for increasing the productivity and quality of application development. IBM U.S. has since signed a global corporate-wide license contract with Parasoft.

Microsoft has its own internal tools for improving quality, although these have not yet been productized. But such products are not only used by large enterprises, there are hundreds of other companies using these kinds of products. These error prevention products are affordable, moreover the return on investment can be realized overnight.

As a software development trainer I have had the opportunity to work with hundreds of software development teams around the world. More than 90 percent of these teams have been completely unaware of the existence of AEP tools. Software quality will continue to suffer until a commitment to quality becomes more than just a catch phrase. This will require a major change in mindset for senior management, since it does not seem to be originating from the developers themselves. But for the time being I will remain suspicious of devices that merge software and hardware.



Jonathan Lurie is a consultant, and enterprise software development trainer who holds a number of certifications including MCSE, MCSD, Java Certified Programmer, and IBM Certified XML Developer. He lives in Manhattan Beach, CA and enjoys programming, writing, and playing beach volleyball. Reach him at jonathanlurie@hotmail.com.
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap