Program Synthesis with Learned Code Idioms
Authors: Richard Shin, Marc Brockschmidt, Miltiadis Allamanis, Oleksandr Polozov
Keywords: program synthesis, semantic parsing, code idioms, domain-specific languages
Abstract: Program synthesis of general-purpose source code from natural language specifi-
cations is challenging due to the need to reason about high-level patterns in the
target program and low-level implementation details at the same time. In this work,
we present PATOIS , the first system that allows a neural program synthesizer to
explicitly interleave high-level and low-level reasoning at every generation step. It
accomplishes this by automatically mining common code idioms from a given cor-
pus and then incorporating them into the underlying language for neural synthesis.
We evaluate PATOIS on a challenging program synthesis dataset NAPS and show
that using learned code idioms improves the synthesizer’s accuracy.