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