Code Generation Based on Deep Learning: a Brief Review

06/15/2021
by   Qihao Zhu, et al.
0

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 reduce the development burden of the software developers and improves the efficiency and quality of the software development process to a certain extent. Code completion is an important part of modern integrated development environments (IDEs). Code completion technology effectively helps programmers complete code class names, method names, and key-words, etc., which improves the efficiency of program development and reduces spelling errors in the coding process. Such tools use static analysis on the code and provide candidates for completion arranged in alphabetical order. Code synthesis is implemented from two aspects, one based on input-output samples and the other based on functionality description. In this study, we introduce existing techniques of these two aspects and the corresponding DL techniques, and present some possible future research directions.

READ FULL TEXT
research
09/14/2020

A Systematic Literature Review on the Use of Deep Learning in Software Engineering Research

An increasingly popular set of techniques adopted by software engineerin...
research
03/02/2023

Deep Learning Based Code Generation Methods: A Literature Review

Code Generation aims at generating relevant code fragments according to ...
research
02/17/2022

The Development and Prospect of Code Clone

The application of code clone technology accelerates code search, improv...
research
05/19/2023

Towards Code Generation from BDD Test Case Specifications: A Vision

Automatic code generation has recently attracted large attention and is ...
research
06/25/2021

Towards auto-completion on software requirements statements

As software systems become more complex, modern software development req...
research
08/07/2018

A Survey of Refactoring Detection Techniques Based on Change History Analysis

Refactoring is the process of changing a software system in such a way t...
research
04/28/2020

Fast and Memory-Efficient Neural Code Completion

Code completion is one of the most widely used features of modern integr...

Please sign up or login with your details

Forgot password? Click here to reset