Type-driven Neural Programming by Example
Kiara Grouwstra

TL;DR
This paper introduces a neural program synthesis method that incorporates programming types to improve generalization in programming by example tasks, demonstrating the benefits of type information in neural models.
Contribution
It proposes the Typed Neuro-Symbolic Program Synthesis (TNSPS) approach, integrating type information into neural program synthesis for the first time in this context.
Findings
Type information improves neural synthesis generalization.
TNSPS outperforms baseline models on limited datasets.
Public code release supports reproducibility.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Parallel Computing and Optimization Techniques · AI-based Problem Solving and Planning
MethodsINFO: An Efficient Optimization Algorithm based on Weighted Mean of Vectors
