Ain't Nobody Got Time For Coding: Structure-Aware Program Synthesis From Natural Language
Abstract
Program synthesis from natural language (NL) is practical for humans and, once technically feasible, would significantly facilitate software development and revolutionize end-user programming. We present SAPS, an end-to-end neural network capable of mapping relatively complex, multi-sentence NL specifications to snippets of executable code. The proposed architecture relies exclusively on neural components, and is trained on abstract syntax trees, combined with a pretrained word embedding and a bi-directional multi-layer LSTM for processing of word sequences. The decoder features a doubly-recurrent LSTM, for which we propose novel signal propagation schemes and soft attention mechanism. When applied to a large dataset of problems proposed in a previous study, SAPS performs on par with or better than the method proposed there, producing correct programs in over 92% of cases. In contrast to other methods, it does not require post-processing of the resulting programs, and uses a fixed-dimensional latent representation as the only interface between the NL analyzer and the source code generator.
Cite
@article{arxiv.1810.09717,
title = {Ain't Nobody Got Time For Coding: Structure-Aware Program Synthesis From Natural Language},
author = {Jakub Bednarek and Karol Piaskowski and Krzysztof Krawiec},
journal= {arXiv preprint arXiv:1810.09717},
year = {2019}
}