Type-driven Neural Programming by Example

08/28/2020
by   Kiara Grouwstra, et al.
0

In this thesis we look into programming by example (PBE), which is about finding a program mapping given inputs to given outputs. PBE has traditionally seen a split between formal versus neural approaches, where formal approaches typically involve deductive techniques such as SAT solvers and types, while the neural approaches involve training on sample input-outputs with their corresponding program, typically using sequence-based machine learning techniques such as LSTMs [41]. As a result of this split, programming types had yet to be used in neural program synthesis techniques. We propose a way to incorporate programming types into a neural program synthesis approach for PBE. We introduce the Typed Neuro-Symbolic Program Synthesis (TNSPS) method based on this idea, and test it in the functional programming context to empirically verify type information may help improve generalization in neural synthesizers on limited-size datasets. Our TNSPS model builds upon the existing Neuro-Symbolic Program Synthesis (NSPS), a tree-based neural synthesizer combining info from input-output examples plus the current program, by further exposing information on types of those input-output examples, of the grammar production rules, as well as of the hole that we wish to expand in the program. We further explain how we generated a dataset within our domain, which uses a limited subset of Haskell as the synthesis language. Finally we discuss several topics of interest that may help take these ideas further. For reproducibility, we release our code publicly.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/15/2016

TerpreT: A Probabilistic Programming Language for Program Induction

We study machine learning formulations of inductive program synthesis; g...
research
11/09/2017

Learning to select examples for program synthesis

Program synthesis is a class of regression problems where one seeks a so...
research
11/06/2019

Data Generation for Neural Programming by Example

Programming by example is the problem of synthesizing a program from a s...
research
02/17/2019

Learning to Infer Program Sketches

Our goal is to build systems which write code automatically from the kin...
research
06/22/2021

SynGuar: Guaranteeing Generalization in Programming by Example

Programming by Example (PBE) is a program synthesis paradigm in which th...
research
11/26/2019

Experiments with a PCCoder extension

Recent research in synthesis of programs written in some Domain Specific...
research
02/07/2020

Grammar Filtering For Syntax-Guided Synthesis

Programming-by-example (PBE) is a synthesis paradigm that allows users t...

Please sign up or login with your details

Forgot password? Click here to reset