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

Xiangping Chen*, Xing Hu*, Yuan Huang, He Jiang*, Weixing Ji, Yanjie Jiang*, Yanyan Jiang*, Bo Liu, Hui Liu, Xiaochen Li, Xiaoli Lian*, Guozhu Meng*, Xin Peng*, Hailong Sun*, Lin Shi*, Bo Wang*, Chong Wang, Jiayi Wang, Tiantian Wang*, Jifeng Xuan*Xin Xia, Yibiao Yang*, Yixin Yang, Li Zhang, Yuming Zhou*, Lu Zhang*

*Corresponding author for this work

Research output: Contribution to journalReview articlepeer-review

4 Citations (Scopus)

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 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.

Original languageEnglish
Article number111102
JournalScience China Information Sciences
Volume68
Issue number1
DOIs
Publication statusPublished - Jan 2025

Keywords

  • deep learning
  • software artifact representation
  • software benchmark
  • software engineering
  • survey

Fingerprint

Dive into the research topics of 'Deep learning-based software engineering: progress, challenges, and opportunities'. Together they form a unique fingerprint.

Cite this

Chen, X., Hu, X., Huang, Y., Jiang, H., Ji, W., Jiang, Y., Jiang, Y., Liu, B., Liu, H., Li, X., Lian, X., Meng, G., Peng, X., Sun, H., Shi, L., Wang, B., Wang, C., Wang, J., Wang, T., ... Zhang, L. (2025). Deep learning-based software engineering: progress, challenges, and opportunities. Science China Information Sciences, 68(1), Article 111102. https://doi.org/10.1007/s11432-023-4127-5