A Survey on Deep Learning for Software Engineering
Yanming Yang, Xin Xia, David Lo, John Grundy

TL;DR
This survey reviews how deep learning techniques have been applied to software engineering since 2006, summarizing methods, analyzing their performance factors, and outlining future research opportunities.
Contribution
It provides a comprehensive classification and analysis of deep learning applications in software engineering, addressing a gap in systematic reviews of this field.
Findings
Deep learning enhances performance in various SE tasks.
Optimization techniques significantly impact DNN effectiveness in SE.
Key research challenges and future directions are identified.
Abstract
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.…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Reliability and Analysis Research · Software System Performance and Reliability
