We all know you sometime have to just cut stuff in half and see if the bug goes away. If it doesn't, cut it in half again. Loosely speaking, academia is trying to automate this process, and have had some success.
The following has been lifted from
UC Davis News & Information :: Software 'Chipper' Speeds DebuggingSoftware 'Chipper' Speeds Debugging
September 28, 2007
Computer scientists at UC Davis have developed a technique to speed up program debugging by automatically "chipping" the software into smaller pieces so that bugs can be isolated more easily.
Computer programs consist of thousands, tens or even hundreds of thousands of lines of code. To isolate a bug in the code, programmers often break it into smaller pieces until they can pin down the error in a smaller stretch that is easier to manage. UC Davis graduate student Chad Sterling and Ron Olsson, professor of computer science, set out to automate that process.
"It's really tedious to go through thousands of lines of code," Olsson said.
The "Chipper" tools developed by Sterling and Olsson chip off pieces of software while preserving the program structure.
"The pieces have to work after they are cut down," Olsson said. "You can't just cut in mid-sentence."
In a recent paper in the journal "Software -- Practice and Experience," Olsson and Sterling describe ChipperJ, a version developed for the Java programming language. ChipperJ was able to reduce large programs to 20 to 35 percent of their former size in under an hour.
More information about automated program chipping is available on Olsson's Web site at http://www.cs.ucdavis.edu/~olsson/.