acm-header
Sign In

Communications of the ACM

ACM TechNews

Recognizing Correct Code


View as: Print Mobile App Share:
One of the most intriguing aspects of this research is that weve found that there are indeed universal properties of correct code that you can learn from one set of applications and apply to another set of applications, says Massachusetts Institute of

A new machine learning system developed at the Massachusetts Institute of Technology can analyze repairs made to open source programs, learn the general properties of those repairs, and use what it learns to apply repairs to another set of applications.

Credit: MIT News

Massachusetts Institute of Technology (MIT) researchers have developed Prophet, a machine-learning system that can analyze the repairs made to open source programs and learn their general properties to produce new repairs for a different set of programs.

"One of the most intriguing aspects of this research is that we've found that there are indeed universal properties of correct code that you can learn from one set of applications and apply to another set of applications," says MIT professor Martin Rinard.

The researchers used patches to write a computer script that automatically extracted both the uncorrected code and patches for 777 errors in eight common open source applications stored in GitHub. For the machine-learning system's feature set, the researchers focused on values stored in memory, identifying 30 prime characteristics of a given value. They wrote a program that evaluated all the possible relationships between these characteristics in successive lines of code, producing more than 3,500 such relationships in the feature set. The algorithm then tried to determine what combination of features most consistently predicted the success of a patch.

Prophet works in conjunction with an earlier algorithm, ranking proposed modifications according to the probability they are correct before putting them through time-consuming tests.

From MIT News
View Full Article

 

Abstracts Copyright © 2016 Information Inc., Bethesda, Maryland, USA


 

No entries found

Sign In for Full Access
» Forgot Password? » Create an ACM Web Account