A Survey on Deep Learning for Software Engineering

11/30/2020
by   Yanming Yang, et al.
0

In 2006, Geoffrey Hinton proposed the concept of training ”Deep Neural Networks (DNNs)” and an improved model training method to break the bottleneck of neural network development. More recently, the introduction of AlphaGo in 2016 demonstrated the powerful learning ability of deep learning and its enormous potential. Deep learning has been increasingly used to develop state-of-the-art software engineering (SE) research tools due to its ability to boost performance for various SE tasks. There are many factors, e.g., deep learning model selection, internal structure differences, and model optimization techniques, that may have an impact on the performance of DNNs applied in SE. Few works to date focus on summarizing, classifying, and analyzing the application of deep learning techniques in SE. To fill this gap, we performed a survey to analyse the relevant studies published since 2006. We first provide an example to illustrate how deep learning techniques are used in SE. We then summarize and classify different deep learning techniques used in SE. We analyzed key optimization technologies used in these deep learning models, and finally describe a range of key research topics using DNNs in SE. Based on our findings, we present a set of current challenges remaining to be investigated and outline a proposed research road map highlighting key opportunities for future work.

READ FULL TEXT

page 9

page 11

page 12

page 17

page 18

page 29

research
05/13/2018

Deep Learning in Software Engineering

Recent years, deep learning is increasingly prevalent in the field of So...
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
05/25/2023

Rethink Diversity in Deep Learning Testing

Deep neural networks (DNNs) have demonstrated extraordinary capabilities...
research
06/25/2020

On the Replicability and Reproducibility of Deep Learning in Software Engineering

Deep learning (DL) techniques have gained significant popularity among s...
research
05/23/2018

Analyzing Families of Experiments in SE: A Systematic Mapping Study

Context: Families of experiments -groups of interrelated experiments wit...
research
09/17/2020

Deep Learning Software Engineering: State of Research and Future Directions

Given the current transformative potential of research that sits at the ...
research
12/30/2021

Resource-Efficient Deep Learning: A Survey on Model-, Arithmetic-, and Implementation-Level Techniques

Deep learning is pervasive in our daily life, including self-driving car...

Please sign up or login with your details

Forgot password? Click here to reset