Learning to Learn Programs from Examples: Going Beyond Program Structure

Learning to Learn Programs from Examples: Going Beyond Program Structure

Kevin Ellis, Sumit Gulwani

Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence
Main track. Pages 1638-1645. https://doi.org/10.24963/ijcai.2017/227

Programming-by-example technologies let end users construct and run new programs by providing examples of the intended program behavior. But, the few provided examples seldom uniquely determine the intended program. Previous approaches to picking a program used a bias toward shorter or more naturally structured programs. Our work here gives a machine learning approach for learning to learn programs that departs from previous work by relying upon features that are independent of the program structure, instead relying upon a learned bias over program behaviors, and more generally over program execution traces. Our approach leverages abundant unlabeled data for semisupervised learning, and incorporates simple kinds of world knowledge for common-sense reasoning during program induction. These techniques are evaluated in two programming-by-example domains, improving the accuracy of program learners.
Keywords:
Machine Learning: Semi-Supervised Learning
Multidisciplinary Topics and Applications: Intelligent User Interfaces