Machine Learning Comes to Debugging
Researchers at MIT have developed a new machine learning tool called Prophet that excels at debugging. To train Prophet, the researchers gave the system 777 coding errors and their fixes from GitHub. They then tested the system's ability to correct 69 real-world bugs. Earlier attempts to create bug-fixing systems had resulted in software that could correct one or two of the 69 bugs. Prophet repaired between fifteen and eighteen of the errors.
"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 Martin Rinard, a professor who co-authored the paper on Prophet. "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."