Autoencoders as Tools for Program Synthesis
arXiv:2108.07129
Abstract
Recently there have been many advances in research on language modeling of source code. Applications range from code suggestion and completion to code summarization. However, complete program synthesis of industry-grade programming languages remains an open problem. In this work, we introduce and experimentally validate a variational autoencoder model for program synthesis of industry-grade programming languages. This model makes use of the inherent tree structure of code and can be used in conjunction with gradient free optimization techniques like evolutionary methods to generate programs that maximize a given fitness function, for instance, passing a set of test cases. A demonstration is avaliable at https://tree2tree.app
arXiv commentA dedicted website for demonstrating the principles shown in the paper is available at: https://tree2tree.app/ Source code is available at https://github.com/sander102907/autoencoder_program_synthesis
References in corpus (9)
- Adam: A Method for Stochastic Optimization
- The Curious Case of Neural Text Degeneration
- A Hierarchical Neural Autoencoder for Paragraphs and Documents
- Cyclical Annealing Schedule: A Simple Approach to Mitigating KL Vanishing
- Tree-to-tree Neural Networks for Program Translation
- Attention-Based LSTM for Psychological Stress Detection from Spoken Language Using Distant Supervision
- Program Synthesis and Semantic Parsing with Learned Code Idioms
- Abstract Syntax Networks for Code Generation and Semantic Parsing
- Learning to superoptimize programs