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 #-Link-Snipped-#.

Source: Recognizing correct code | MIT News | Massachusetts Institute of Technology

Replies

You are reading an archived discussion.

Related Posts

Quote: "I think we're going to try to do something more radical," says Elon Musk, creator of Tesla Motors, whose charging stations will power your Tesla for free, forever. This...
After successfully launching the Le 1S and the Le Max smartphones, LeEco is set to introduce Smart TVs and VR devices in India. LeEco, previously known Letv, has managed to...
By taking cue from the developments in quantum computing of the 20th century to build a quantum light that could better today's internet security technologies, the scientists from Stanford University...
Quote: If you search for good DIY solar power project for your home there are thousands available on internet. Some of them are very complex and require special tools or...
Quote: In this video I show you how to Do It Yourself Giant Gummy Cola Bottle - is an easy recipe for everyone. What you will need: - For the...