Timezone: »
Program synthesis of general-purpose source code from natural language specifications 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, a 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 corpus, incorporating them into the underlying language for neural synthesis, and training a tree-based neural synthesizer to use these idioms during code generation. We evaluate Patois on two complex semantic parsing datasets and show that using learned code idioms improves the synthesizer's accuracy.
Author Information
Richard Shin (UC Berkeley)
Miltiadis Allamanis (Microsoft Research)
Marc Brockschmidt (Microsoft Research)
Alex Polozov (Microsoft Research)
More from the Same Authors
-
2018 Poster: Constrained Graph Variational Autoencoders for Molecule Design »
Qi Liu · Miltiadis Allamanis · Marc Brockschmidt · Alexander Gaunt -
2018 Poster: Improving Neural Program Synthesis with Inferred Execution Traces »
Richard Shin · Illia Polosukhin · Dawn Song -
2018 Spotlight: Improving Neural Program Synthesis with Inferred Execution Traces »
Richard Shin · Illia Polosukhin · Dawn Song -
2016 Poster: Latent Attention For If-Then Program Synthesis »
Chang Liu · Xinyun Chen · Richard Shin · Mingcheng Chen · Dawn Song