Deep learning-based software engineering: progress,challenges, and opportunities
作者机构:School of Journalism and Communication Sun Yat-sen University School of Software Technology Zhejiang University School of Software Engineering Sun Yat-sen University School of Software Dalian University of Technology School of Computer Science and Technology Beijing Institute of Technology Key Laboratory of High Confidence Software Technologies (Peking University) Ministry of EducationSchool of Computer Science Peking University State Key Laboratory for Novel Software Technology Nanjing University School of Computer Science and Engineering Beihang University Institute of Information Engineering Chinese Academy of Sciences School of Computer Science Fudan University State Key Laboratory of Complex & Critical Software Environment (CCSE) School of Software Beihang University School of Computer and Information Technology Beijing Jiaotong University School of Computer Science and Technology Harbin Institute of Technology School of Computer Science Wuhan University Huawei Technologies
出 版 物:《Science China(Information Sciences)》 (中国科学:信息科学(英文版))
年 卷 期:2025年第1期
页 面:57-144页
核心收录:
学科分类:12[管理学] 1201[管理学-管理科学与工程(可授管理学、工学学位)] 081104[工学-模式识别与智能系统] 08[工学] 0835[工学-软件工程] 0811[工学-控制科学与工程] 0812[工学-计算机科学与技术(可授工学、理学学位)] 081202[工学-计算机软件与理论]
摘 要: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 i