A Syntactic Neural Model for General-Purpose Code Generation
arXiv:1704.01696
Abstract
We consider the problem of parsing natural language descriptions into source code written in a general-purpose programming language like Python. Existing data-driven methods treat this problem as a language generation task without considering the underlying syntax of the target programming language. Informed by previous work in semantic parsing, in this paper we propose a novel neural architecture powered by a grammar model to explicitly capture the target syntax as prior knowledge. Experiments find this an effective way to scale up to generation of complex programs from natural language descriptions, achieving state-of-the-art results that well outperform previous code generation and semantic parsing approaches.
To appear in ACL 2017
References in corpus (3)
Cited by in corpus (49)
- CodeXGLUE: A Machine Learning Benchmark Dataset for Code Understanding and Generation
- TabFact: A Large-scale Dataset for Table-based Fact Verification
- Tree-to-tree Neural Networks for Program Translation
- StaQC: A Systematically Mined Question-Code Dataset from Stack Overflow
- Compositional Generalization in Semantic Parsing: Pre-training vs. Specialized Architectures
- Unsupervised Translation of Programming Languages
- A parallel corpus of Python functions and documentation strings for automated code documentation and code generation
- IncSQL: Training Incremental Text-to-SQL Parsers with Non-Deterministic Oracles
- Program Synthesis with Large Language Models
- Neural Program Synthesis with Priority Queue Training
- EVIL: Exploiting Software via Natural Language
- SyntaxSQLNet: Syntax Tree Networks for Complex and Cross-DomainText-to-SQL Task
- TreeBERT: A Tree-Based Pre-Trained Model for Programming Language
- TreeGen: A Tree-Based Transformer Architecture for Code Generation
- TRANX: A Transition-based Neural Abstract Syntax Parser for Semantic Parsing and Code Generation
- Synergy between Machine/Deep Learning and Software Engineering: How Far Are We?
- Semantic Parsing with Syntax- and Table-Aware SQL Generation
- Dataset for a Neural Natural Language Interface for Databases (NNLIDB)
- Building a Neural Semantic Parser from a Domain Ontology
- An Encoder-Decoder Framework Translating Natural Language to Database Queries
- Encoding Database Schemas with Relation-Aware Self-Attention for Text-to-SQL Parsers
- Toward Code Generation: A Survey and Lessons from Semantic Parsing
- Reasoning about Actions and State Changes by Injecting Commonsense Knowledge
- Retrieval-Based Neural Code Generation
- Variable Name Recovery in Decompiled Binary Code using Constrained Masked Language Modeling
- Interactive Task and Concept Learning from Natural Language Instructions and GUI Demonstrations
- Automatically Generating Commit Messages from Diffs using Neural Machine Translation
- Exploring Neural Models for Parsing Natural Language into First-Order Logic
- Multi-Task Learning for Conversational Question Answering over a Large-Scale Knowledge Base
- From Natural Language Instructions to Complex Processes: Issues in Chaining Trigger Action Rules
- Improving the Capabilities of Large Language Model Based Marketing Analytics Copilots With Semantic Search And Fine-Tuning
- Automated proof synthesis for propositional logic with deep neural networks
- PyTorrent: A Python Library Corpus for Large-scale Language Models
- Knowledge Graph Question Answering via SPARQL Silhouette Generation
- Interactive Semantic Parsing for If-Then Recipes via Hierarchical Reinforcement Learning
- Ain't Nobody Got Time For Coding: Structure-Aware Program Synthesis From Natural Language
- Using Program Induction to Interpret Transition System Dynamics
- Explaining Transition Systems through Program Induction
- Improving the Robustness to Data Inconsistency between Training and Testing for Code Completion by Hierarchical Language Model
- NeurIPS 2020 NLC2CMD Competition: Translating Natural Language to Bash Commands
- Prefix-to-SQL: Text-to-SQL Generation from Incomplete User Questions
- Amanuensis: The Programmer's Apprentice
- Improve Language Modelling for Code Completion through Statement Level Language Model based on Statement Embedding Generated by BiLSTM
- Toward Imitating Visual Attention of Experts in Software Development Tasks
- Compositional pre-training for neural semantic parsing
- Linguacodus: A Synergistic Framework for Transformative Code Generation in Machine Learning Pipelines
- Learning to Extend Program Graphs to Work-in-Progress Code
- LogicalFactChecker: Leveraging Logical Operations for Fact Checking with Graph Module Network
- Towards A Measure Of General Machine Intelligence