Researchers at MIT have developed a system to automatically repair computer bugs.
The program can comb through repairs to open-source computer programs and learn their general properties, according to MIT, building new repairs for a different set of programs.
The researchers tested the system on a set of programming errors, culled from real open-source applications, that had been compiled to evaluate automatic bug-repair systems. The MIT system repaired between 15 and 18, depending on whether it settled on the first solution it found or was allowed to run longer, MIT notes. Earlier systems were only able to repair one or two of the bugs.
“One of the most intriguing aspects of this research is that we’ve found that there are indeed universal properties of correct code that you can learn from one set of applications and apply to another set of applications,” said MIT Professor of electrical engineering and computer science Martin Rinard, whose group developed the system. “If you can recognize correct code, that has enormous implications across all software engineering. This is just the first application of what we hope will be a brand-new, fabulous technique.”
The research results were presented in a paper by MIT graduate student Fan Long at the Symposium on Principles of Programming Languages last week. Long and Rinard are the paper’s co-authors.