Abstract
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