Corpus ID: 235490208

Code Generation Based on Deep Learning: a Brief Review

  title={Code Generation Based on Deep Learning: a Brief Review},
  author={Qihao Zhu and Wenjie Zhang},
Automatic software development has been a research hot spot in the field of software engineering (SE) in the past decade. In particular, deep learning (DL) has been applied and achieved a lot of progress in various SE tasks. Among all applications, automatic code generation by machines as a general concept, including code completion and code synthesis, is a common expectation in the field of SE, which may greatly reduces the development burden of the software developers and improves the… Expand

Tables from this paper


Code Completion with Neural Attention and Pointer Networks
This paper proposes a pointer mixture network for better predicting OoV words in code completion that learns to either generate a within-vocabulary word through an RNN component, or copy an OoV word from local context through a pointer component. Expand
Learning from examples to improve code completion systems
Evidence is given that intelligent code completion systems which learn from examples significantly outperform mainstream codepletion systems in terms of the relevance of their suggestions and thus have the potential to enhance developers' productivity. Expand
Learning to Generate Corrective Patches using Neural Machine Translation
This paper proposes Ratchet, a corrective patch generation system using neural machine translation, and shows that Ratchet can generate syntactically valid statements 98.7% of the time, and achieve an F1-measure between 0.41-0.83 with respect to the actual fixes adopted in the code base. Expand
Summarizing Source Code using a Neural Attention Model
This paper presents the first completely datadriven approach for generating high level summaries of source code, which uses Long Short Term Memory (LSTM) networks with attention to produce sentences that describe C# code snippets and SQL queries. Expand
Retrieval-Based Neural Code Generation
Recode, a method based on subtree retrieval that makes it possible to explicitly reference existing code examples within a neural code generation model, is introduced. Expand
Spotting working code examples
The time complexity of the proposed approach for spotting working code examples is as low as the complexity of existing code search engines on the Internet and considerably lower than the pattern-based approaches supporting free-form queries. Expand
Deep Code Search
A novel deep neural network named CODEnn (Code-Description Embedding Neural Network) is proposed, which jointly embeds code snippets and natural language descriptions into a high-dimensional vector space, in such a way that code snippet and its corresponding description have similar vectors. Expand
CoaCor: Code Annotation for Code Retrieval with Reinforcement Learning
This work proposes an effective framework based on reinforcement learning that explicitly encourages the code annotation model to generate annotations that can be used for the retrieval task, and shows that code annotations generated by this framework are much more detailed and more useful for code retrieval, and they can further improve the performance of existing code retrieval models significantly. Expand
Code completion with statistical language models
The main idea is to reduce the problem of code completion to a natural-language processing problem of predicting probabilities of sentences, and design a simple and scalable static analysis that extracts sequences of method calls from a large codebase, and index these into a statistical language model. Expand
Are deep neural networks the best choice for modeling source code?
This work enhances established language modeling approaches to handle the special challenges of modeling source code, such as frequent changes, larger, changing vocabularies, deeply nested scopes, etc, and presents a fast, nested language modeling toolkit specifically designed for software. Expand