Saturday, 20 February 2016

Automatic Bug-Repair System Fixes 10 Times As Many Errors as Its Predecessors

The researchers at MIT (Massachusetts Institute of Technology) have devised a new system that is going to look for and detect bugs in a computer program and then run a repair process to fix it up automatically. This new system can browse through computer programming languages that are open-source in nature and learn about their general properties. This learning would then be used by the system to debug or make repairs for computer programs that might be of a different set.

What is it exactly? How does it function?

In simpler terms, this is a machine learning system that has been developed to fix up bugs that come up while developing various sorts of software. The system functions by borrowing the functionalities of various other applications or computer programs. The researchers at the institute are busy in experimenting so that they are able to take this hybrid system to a new level where the application will absorb the best components of all the other computer programs or languages.

This new and automatic debugging program has been named as the CodePhage and it will effectively patch program errors by picking up codes from another program (referred as the donour application) and paste into the program under diagnosis thereby make it bug free. The best part is – CodePhage is being developed in such a way that it will not be necessary for the repair code to be of the same programming language. In fact, the patch can belong to any programming language and the repair work would still be carried out. Not only that, the application would also have a function that will do a re-check and a verification to make sure that the bug has indeed been fixed. The system also makes use of DIODE (Directed Integer Overflow Discovery Engine) for the generation of crash inducing input(s).

The fate of CodePhage

Those who had worked on this wonderful project have claimed that this automatic bug repair system was put to test against seven of the commonly used open source languages that had bugs in it. It was found that this new app had successfully repaired the faulty code in a span of 10 – 2 minutes for each. And, this was a standard result for all such instances.

One of the interesting things about this experiment by the MIT researchers was that it was a standard approach where one could actually learn from a certain set of programs and apply those properties or knowledge for another or a different set of programs. Recognizing the correct code is very important as it will have a huge impact in the software engineering domain. Though this is just the beginning and is the very first application, but the experts believe that it does have the potential of becoming an excellent tool that going ahead.

The crucial aspect of this experiment with machine-learning systems was the analyzing and selection of the ‘feature set’. Thirty prime characteristics were identified and then the program was developed to evaluate these characteristics.

No comments:

Post a Comment

Note: only a member of this blog may post a comment.