Categories: Innovation

Researchers Invent Automated Software Patching Technique

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.

Engineering implications

MIT professor of electrical engineering and computer science Martin Rinard, whose group developed the new system, said Prophet’s success indicates that correct, working code has properties that can be recognised and used to evaluate any software, something he said could have wider implications for computer engineering.

“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.

Machine learning

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!

Matthew Broersma

Matt Broersma is a long standing tech freelance, who has worked for Ziff-Davis, ZDnet and other leading publications

Recent Posts

Alphabet Value Surges Over $2tn On Dividend Plan

Google parent Alphabet sees market capitalisation surge over $2tn on plan to over first-ever cash…

22 mins ago

Google Asks US Court To Dismiss Federal Adtech Case

Google asks Virginia federal court to dismiss case brought by US Justice Department and eight…

51 mins ago

Snap Sees Surge In Users, Ad Revenues

Snapchat parent Snap reports user growth, revenues in spite of tough competition, in what may…

1 hour ago

Intel Shares Sink As AI Surge Hits Chip Revenue

Intel shares sag after company shares gloomy revenue predictions, as data centre chip demand hit…

2 hours ago

Email Provider Complains To EU Over Reduced Google Rankings

Germany's Tuta Mail says Google broke EU's new DMA rules with March algorithm update that…

3 hours ago

US Regulator Probes Effectiveness Of Tesla Autopilot Recall

US auto safety regulator opens new investigation into adequacy of Tesla Autopilot recall, saying it…

3 hours ago