Abstract: Generative models forsource code are an interesting structured prediction problem, requiring to reason about both hard syntactic and semantic constraints as well as about natural, likely programs. We present a novel model for this problem that uses a graph to represent the intermediate state of the generated output. Our model generates code by interleaving grammar-driven expansion steps with graph augmentation and neural message passing steps. An experimental evaluation shows that our new model can generate semantically meaningful expressions, outperforming a range of strong baselines.
Keywords: Generative Model, Source Code, Graph Learning
TL;DR: Representing programs as graphs including semantics helps when generating programs
Code: [![github](/images/github_icon.svg) Microsoft/graph-based-code-modelling](https://github.com/Microsoft/graph-based-code-modelling)
Community Implementations: [![CatalyzeX](/images/catalyzex_icon.svg) 1 code implementation](https://www.catalyzex.com/paper/arxiv:1805.08490/code)