Debasmita Banerjee
Debasmita Banerjee
29 Jan 2016

MIT Develops 10x More Efficient Automatic Bug-Repair System

MIT’s electrical engineering and computer science department has developed a machine learning program that screens large chunks of patches belonging to open source software repositories in order to develop a new repair for a set of programs. The auto bug repair system runs ten times faster than other contemporary bug fixers. The results were reported in a paper describing the new system at the Symposium on Principles of Programming Languages, and was co-authored by Fan Long, a graduate student in electrical engineering and computer science at MIT.

Martin Rinard and his team initially tested their program on the stacks of error accumulated from different open source software projects. While those earlier systems were able to detect and repair one or two bugs only, MIT’s system repaired between fifteen and eighteen bugs. According to Rinard, the system can learn from one set of examples and apply it in other sets. Their research project was able to extract both the uncorrected code and patches for 777 errors in eight open-source applications stored in the online repository GitHub.


The team selected a “feature set” and concentrated on variables that can be modified and constants that cannot be modified. Rinard and his team identified thirty individual characteristics and 3,500 relations that constitute the “feature set”. The machine-learning algorithm was successful in predicting all the relations among the characteristics and then identified a combination of features that comprised a successful patch.

Rinard and Long put to use a very useful algorithm that they had earlier developed, which was capable of repairing system bugs by suitably manipulating the program code. The newly developed system christened ‘Prophet’ was subjected to rigorous tests. Statistics acquired after the tests showed that when allowed twelve hours per problem, the system succeeded in detecting 18 out of 19 problems.

The application of machine code in learning from ‘big code’ possesses the potential to significantly upgrade a multitude of computer programming aspects including code completion, reverse engineering etc. The open source paper titled 'Automatic Patch Generation by Learning Correct code' can be read here.

Source: MIT News

Be the first one to reply

Share this content on your social channels -

Only logged in users can reply.