1. Deep Learning-based Software Engineering: Progress, Challenges, and Opportunities
- Author
-
Chen, Xiangping, Hu, Xing, Huang, Yuan, Jiang, He, Ji, Weixing, Jiang, Yanjie, Jiang, Yanyan, Liu, Bo, Liu, Hui, Li, Xiaochen, Lian, Xiaoli, Meng, Guozhu, Peng, Xin, Sun, Hailong, Shi, Lin, Wang, Bo, Wang, Chong, Wang, Jiayi, Wang, Tiantian, Xuan, Jifeng, Xia, Xin, Yang, Yibiao, Yang, Yixin, Zhang, Li, Zhou, Yuming, and Zhang, Lu
- Subjects
Computer Science - Software Engineering - Abstract
Researchers have recently achieved significant advances in deep learning techniques, which in turn has substantially advanced other research disciplines, such as natural language processing, image processing, speech recognition, and software engineering. Various deep learning techniques have been successfully employed to facilitate software engineering tasks, including code generation, software refactoring, and fault localization. Many papers have also been presented in top conferences and journals, demonstrating the applications of deep learning techniques in resolving various software engineering tasks. However, although several surveys have provided overall pictures of the application of deep learning techniques in software engineering, they focus more on learning techniques, that is, what kind of deep learning techniques are employed and how deep models are trained or fine-tuned for software engineering tasks. We still lack surveys explaining the advances of subareas in software engineering driven by deep learning techniques, as well as challenges and opportunities in each subarea. To this end, in this paper, we present the first task-oriented survey on deep learning-based software engineering. It covers twelve major software engineering subareas significantly impacted by deep learning techniques. Such subareas spread out the through the whole lifecycle of software development and maintenance, including requirements engineering, software development, testing, maintenance, and developer collaboration. As we believe that deep learning may provide an opportunity to revolutionize the whole discipline of software engineering, providing one survey covering as many subareas as possible in software engineering can help future research push forward the frontier of deep learning-based software engineering more systematically., Comment: Accepted in SCIENCE CHINA Information Sciences
- Published
- 2024
- Full Text
- View/download PDF