View Feed
group-icon
Coffee Room
Discuss anything here - everything that you wish to discuss with fellow engineers.
12933 Members
Join this group to post and comment.

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.

Probablistic_patches

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

Share this content on your social channels -