![]() |
||||||||
|
|
|
|
|
|
|
|
![]() |
|
CS Prof. Has Book Publishedby Valerie Kimble SOCORRO, NM, Oct. 8, 1998 -- Computers are everywhere -- and so are the software defects, or "bugs," that can wreak disaster, everything from spoiling spreadsheet programs to causing plane crashes. A defect in a spreadsheet program might be a relatively minor bug, while other software defects are far more serious in terms of time, money, and even lives, according to Dr. Allan M. Stavely, a faculty member with New Mexico Tech's Computer Science Department. But there is a method that can exterminate bugs by eliminating them before they do any damage. That technique, called the "Cleanroom" method, is the subject of Stavely's first book, Toward Zero-Defect Programming. The Cleanroom method is named for the scrupulously clean rooms in which computers and their parts are manufactured. Stavely said the theory was developed at IBM by a group led by the late Harlan Mills. Stavely learned the Cleanroom method six years ago at an IBM training course workshop sponsored by the National Science Foundation. "I'd been reading about this way of doing things, but there was nothing in print to give me enough detail on how to do it for myself," he said. Stavely, in fact, was looking for a text to use in a course he was teaching at Tech, and when he couldn't find one employing the Cleanroom method, he began to compile notes on the subject. The result is a 254-page text designed for the professional programmer, the student or the serious home programmer. "There is nothing on the market like it," he said. Stavely said it's difficult to test a program enough that "you catch all of your mistakes." With the Cleanroom method, a group of programmers verifies each step in the writing process, much as a mathematician will write a proof. "I won't promise you won't make any mistakes," Stavely said. "But the idea works in such a way that you don't make many mistakes, and you can catch those before they do damage," he said. "If we can't prove each part works, that's an indication it wasn't done right to begin with," he said. "In the past, program verification was too difficult for practical use," he said. "A programmer had to grind through math proofs in lots of detail, an enormously tedious and time-consuming process," he said. "People got turned off and didn't want to do it." With the Cleanroom method, a group of programmers talks through each step, and Stavely provides two simulated dialogues of how the team process works. "If something is obvious, they can just go on," he said. "When something a little more difficult comes along, the group can spend time to prove it mathematically, with just as much effort as necessary and with no more formality than necessary," he said. However, said Stavely, the value of the verification is not in the proofs of correctness, but in the defects that are detected and corrected during the verification process. "Testing, debugging, and trying to clean up programs later on doesn't work very well," Stavely said. "It turns out you can't count on even the most careful testing to detect much more than 90 percent of the bugs in a program. And doing even this much testing is usually very time-consuming and expensive," he added. It's not that programmers are unskilled or sloppy workers, he said. In fact, said Stavely, today's programmers are, on average, pretty good. "But programmers are human, and they make mistakes." Stavely doesn't feel he made a mistake 22 years ago when he decided to accept a teaching position at New Mexico Tech fresh from the computer science doctoral program at the University of Michigan at Ann Arbor. "They already had an established undergraduate computer science program here, and at a time when hardly any other universities were teaching it," he said. "I knew I wanted to come to the Southwest anyway, and I liked what I saw." In addition, Stavely has become a staple with the New Mexico Tech Chamber Orchestra, for which he plays bassoon. He also sings bass with the Tech Community Chorus and plays folk instruments with a group of friends who have played together for many years. "We don't have a name, but people call us the Socorro Irish Band," Stavely said. "None of us are Irish, but we do know a lot of Irish tunes." Toward Zero Defect Programming is published by Addison-Wesley. The paperbound book, which has a suggested retail price of $26.95, will be available at the New Mexico Tech Book Store on campus and at bookstores nationwide. - NMT - |