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!
Ahead of 5 April deadline, Trump is to hold White House meeting over possible investors…
Apple fined 150m euros over App Tracking Transparency feature that it says abuses Apple's market…
OpenAI to release customisable open-weight model in coming months as it faces pressure from open-source…
Samsung's Bespoke AI-powered fridge monitors food to create shopping lists, displays TikTok videos, locates misplaced…
Huawei sees 38 percent jump in consumer revenues as its smartphone comeback continues to gather…
In world-first, China approves commercial flights for EHang autonomous passenger drone, paving way for imminent…