论文标题

软件工程深度学习的调查

A Survey on Deep Learning for Software Engineering

论文作者

Yang, Yanming, Xia, Xin, Lo, David, Grundy, John

论文摘要

2006年,杰弗里·辛顿(Geoffrey Hinton)提出了训练“深神经网络(DNN)”的概念,并提出了一种改进的模型培训方法,以打破神经网络开发的瓶颈。最近,Alphago在2016年推出了深度学习及其巨大潜力的强大学习能力。由于能够提高各种SE任务的性能,因此越来越多地使用深度学习来开发最先进的软件工程(SE)研究工具。例如,深度学习模型选择,内部结构差异和模型优化技术有许多因素,可能会影响SE中应用的DNN的性能。迄今为止,很少有工作重点是总结,分类和分析SE中深度学习技术的应用。为了填补这一空白,我们进行了一项调查,以分析自2006年以来发表的相关研究。我们首先提供了一个示例来说明SE中如何使用深度学习技术。然后,我们总结并分类了SE中使用的不同深度学习技术。我们分析了这些深度学习模型中使用的关键优化技术,最后描述了使用SE中DNN的一系列关键研究主题。根据我们的发现,我们提出了一系列当前的挑战,尚待调查,并概述了拟议的研究路线图,凸显了未来工作的关键机会。

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.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源