Title
Learning programs from traces using version space algebra
Abstract
While existing learning techniques can be viewed as inducing programs from examples, most research has focused on rather narrow classes of programs, e.g., decision trees or logic rules. In contrast, most of today's programs are written in languages such as C++ or Java. Thus, many tasks we wish to automate (e.g. programming by demonstration and software reverse engineering) might be best formulated as induction of code in a procedural language. In this paper we apply version space algebra [10] to learn such procedural programs given execution traces. We consider two variants of the problem (whether or not program-step information is included in the traces) and evaluate our implementation on a corpus of programs drawn from introductory computer science textbooks. We show that our system can learn correct programs from few traces.
Year
DOI
Venue
2003
10.1145/945645.945654
K-CAP
Keywords
Field
DocType
decision tree,reverse engineering,natural language processing
Programming by demonstration,Procedural programming,Decision tree,Programming language,Algebra,Computer science,Reverse engineering,Java,Rule of inference,Knowledge acquisition,Version space
Conference
ISBN
Citations 
PageRank 
1-58113-583-1
27
1.69
References 
Authors
12
3
Name
Order
Citations
PageRank
Tessa A. Lau190956.12
Pedro Domingos2132261199.48
Daniel S. Weld3102981127.49