Engineering at Nebraska Fall09
Bookmark and Share

Debugging Complex Software


When Myra Cohen’s computer software crashes, it’s a good day.

In fact, the more software bugs the UNL computer scientist finds, the better she’s doing her job. Cohen, an assistant professor of computer science and engineering, develops testing procedures for complex software, and she has been catching lots of bugs.

"In testing, it’s good to find a fault, Cohen said. "We’re looking for more ways to efficiently and effectively run tests to uncover more problems before they get out to the public.

Poor software quality adds up to tens of billions of dollars in financial losses annually in the U.S., according to the National Institutes of Standards and Technology. Glitches in medical, military or other essential software could put lives at risk.

Two prestigious grants help fund Cohen’s research on better ways to debug complex software systems. She is the first UNL faculty member to receive a $320,000, three-year grant through the Air Force Office of Scientific Research’s Young Investigator Program, which funds young researchers with exceptional ability and promise in basic research. She also has a $400,000, five-year National Science Foundation CAREER Program award, which supports outstanding pre-tenure faculty.

Cohen has been testing highly configurable software, such as Web browsers, that allow users many preference options. Changing preferences alters the underlying program, so testing only default settings, as is normal, may not suffice. She's developing a technique to more comprehensively and reliably test the myriad combinations of options in configurable software.

With the Air Force grant, she is expanding her research to develop tests for entire product lines, such as cell phones, which combine hardware with software. Instead of testing each new model from scratch, Cohen’s techniques use information from the previous model to test the new one, allowing efficient testing across entire families of products.

She likens it to car assembly lines. If every car has the same engine, but different tires, it may be necessary to test only the new tires.

Improved product line testing techniques should benefit software companies, the military, medical technologies, and ship and airplane industries.