Researchers at the Massachusetts Institute of Technology (MIT) say they have built a machine-learning system that creates automatic software patches with a success rate 10 times that of existing automation techniques, a development they say could have a broad impact on software engineering.
In tests, the system, called Prophet, was able to repair between 15 and 18 bugs in a set of programming errors, compared with only one or two using previous automated bug-repair techniques, MIT said.
“This is just the first application of what we hope will be a brand-new, fabulous technique,” Rinard said in a statement released by MIT.
Prophet builds on previous research by MIT graduate student Fan Long, who presented a paper describing the system, co-authored with Rinard, at the Symposium on Principles of Programming Languages last month.
Long had developed an algorithm that guided proposed fixes for buggy code, but it was prohibitively slow to generate a number of such fixes and then test them all. Prophet uses its machine-learning technique to predict which fixes are likely to be correct before beginning time-consuming testing, MIT said.
The system attempts to evaluate whether code is correct or buggy by examining the characteristics of values stored in memory, and determining which combination of these characteristics most consistently predicts the success of a patch.
“Typically, there will be good connections in the correct patches, corresponding to useful or productive program logic,” Long stated. “And there will be bad patterns that mean disconnections in program logic or redundant program logic that are less likely to be successful.”
Researchers tested the system on a set of 69 errors drawn from eight popular open source programs, finding that 19 were able to be fixed using Long’s algorithm, while the other 50 presented more complex problems.
When Prophet was allowed to proceed with its first proposed fix, it was able to repair 15 of the 19 errors, and when it was allowed to spend 12 hours on each problem it repaired a total of 18.
Long said he is now working on a system that can handle more complex errors.
Google said last month that its AlphaGo artificial intelligence had successfully used machine-learning techniques to defeat Europe’s reigning human champion in five consecutive games of Go.
The AI was developed by UK-based DeepMind, acquired by Google in 2014.
Do you know all about Big Data and large-scale analytics? Take our quiz!
Suspended prison sentence for Craig Wright for “flagrant breach” of court order, after his false…
Cash-strapped south American country agrees to sell or discontinue its national Bitcoin wallet after signing…
Google's change will allow advertisers to track customers' digital “fingerprints”, but UK data protection watchdog…
Welcome to Silicon In Focus Podcast: Tech in 2025! Join Steven Webb, UK Chief Technology…
European Commission publishes preliminary instructions to Apple on how to open up iOS to rivals,…
San Francisco jury finds Nima Momeni guilty of second-degree murder of Cash App founder Bob…