Computer Program Automatically Debugs Legacy Software

November 18, 2009

We’ve all found them, those little kinks in a software program we have to work around because the program doesn’t work exactly as it should. Now there may be a solution in sight for some of those irritating problems. A UNM Computer Science research group is testing a program that automatically and efficiently removes bugs from off-the-shelf legacy software.

Computer Science Department Chair Stephanie Forrest and Westley Weimer, an assistant professor of Computer Science at the University of Virginia, are leading the research group which includes UVA graduate student Claire Le Goues, and research assistant Than Vu Nguyen from UNM.

Initial results were presented at the International Conference of Software Engineering where “Automatically Finding Patches Using Genetic Programming” won a ‘Best Paper’ award. A follow up paper presented at the Genetic and Evolutionary Computation Conference, “A Genetic Programming Approach to Automated Software Repair” also won a ‘Best Paper’ award.’

The papers show that computers debug software a little differently from the way humans approach the job. The researchers have developed a method that uses evolutionary methods to search for program repairs. The candidate repairs are vetted using a predefined set of test cases.

Once the error is found, the program experiments with possible solutions until it finds the variant solution that will solve the problem. The researchers note the best fix is the minimal fix.

Forrest says her group is likely to offer the program as an open software solution. She has an NSF grant that will allow continued work on the program.