Deep learning-based software engineering: progress, challenges, and opportunities

被引:10
作者
Chen, Xiangping [2 ]
Hu, Xing [3 ]
Huang, Yuan [4 ]
Jiang, He [5 ]
Ji, Weixing [6 ]
Jiang, Yanjie [1 ]
Jiang, Yanyan [7 ]
Liu, Bo [6 ]
Liu, Hui [6 ]
Li, Xiaochen [5 ]
Lian, Xiaoli [8 ]
Meng, Guozhu [9 ]
Peng, Xin [10 ]
Sun, Hailong [11 ]
Shi, Lin [11 ]
Wang, Bo [12 ]
Wang, Chong [10 ]
Wang, Jiayi [7 ]
Wang, Tiantian [13 ]
Xuan, Jifeng [14 ]
Xia, Xin [15 ]
Yang, Yibiao [7 ]
Yang, Yixin [11 ]
Zhang, Li [8 ]
Zhou, Yuming [7 ]
Zhang, Lu [1 ]
机构
[1] Peking Univ, Peking Univ, Sch Comp Sci, Key Lab High Confidence Software Technol, Beijing 100871, Peoples R China
[2] Sun Yat Sen Univ, Sch Journalism & Commun, Guangzhou 510275, Peoples R China
[3] Zhejiang Univ, Sch Software Technol, Hangzhou 310058, Peoples R China
[4] Sun Yat Sen Univ, Sch Software Engn, Guangzhou 510275, Peoples R China
[5] Dalian Univ Technol, Sch Software, Dalian 116024, Peoples R China
[6] Beijing Inst Technol, Sch Comp Sci Technol, Beijing 100081, Peoples R China
[7] Nanjing Univ, State Key Lab Novel Software Technol, Nanjing 210023, Peoples R China
[8] Beihang Univ, Sch Comp Sci & Engn, Beijing 100191, Peoples R China
[9] Chinese Acad Sci, Inst Informat Engn, Beijing, Peoples R China
[10] Fudan Univ, Sch Comp Sci, Shanghai 200433, Peoples R China
[11] Beihang Univ, Sch Comp Sci & Engn, State Key Lab Complex & Crit Software Environm C, 37 Xueyuan Rd, Beijing 100191, Peoples R China
[12] Beijing Jiaotong Univ, Sch Comp & Informat Technol, Beijing 100044, Peoples R China
[13] Harbin Inst Technol, Sch Comp Sci & Technol, Harbin 150001, Peoples R China
[14] Wuhan Univ, Sch Comp Sci, Wuhan 430072, Peoples R China
[15] Huawei Technol, Hangzhou 310056, Peoples R China
关键词
deep learning; software engineering; software benchmark; software artifact representation; survey; NEURAL-NETWORK; FORMAL VERIFICATION; FAULT LOCALIZATION; AUTOMATED REPAIR; CONTEXT-AWARE; REQUIREMENTS; RECOMMENDATION; SPECIFICATIONS; PREDICTION; ALGORITHM;
D O I
10.1007/s11432-023-4127-5
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
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 studies 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 study, 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 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. For each of the selected subareas, we highlight the major advances achieved by applying deep learning techniques with pointers to the available datasets in such a subarea. We also discuss the challenges and opportunities concerning each of the surveyed software engineering subareas.
引用
收藏
页数:88
相关论文
共 733 条
[1]  
Abelson H., 1996, Structure and Interpretation of Computer Programs
[2]  
Abid N J., 2015, P IEEE INT C SOFTWAR, V561
[3]   A practical evaluation of spectrum-based fault localization [J].
Abreu, Rui ;
Zoeteweij, Peter ;
Golsteijn, Rob ;
van Gemund, Arjan J. C. .
JOURNAL OF SYSTEMS AND SOFTWARE, 2009, 82 (11) :1780-1792
[4]  
Agrawal H, 1995, SIXTH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING, PROCEEDINGS, P143, DOI 10.1109/ISSRE.1995.497652
[5]  
Ahmad WU, 2021, 2021 CONFERENCE OF THE NORTH AMERICAN CHAPTER OF THE ASSOCIATION FOR COMPUTATIONAL LINGUISTICS: HUMAN LANGUAGE TECHNOLOGIES (NAACL-HLT 2021), P2655
[6]  
Ahmad Wasi Uddin, 2020, P 58 ANN M ASS COMPU, DOI DOI 10.18653/V1/2020.ACL-MAIN.449
[7]  
Al-omari F, 2020, INT WORKS SOFTW CLON, P57, DOI [10.1109/IWSC50091.2020.9047643, 10.1109/iwsc50091.2020.9047643]
[8]  
Alagarsamy S, 2023, Arxiv, DOI arXiv:2302.10352
[9]   An end-to-end deep learning system for requirements classification using recurrent neural networks [J].
AlDhafer, Osamah ;
Ahmad, Irfan ;
Mahmood, Sajjad .
INFORMATION AND SOFTWARE TECHNOLOGY, 2022, 147
[10]  
Allamanis M, 2021, ADV NEUR IN, V34