Skip to main navigation Skip to search Skip to main content

基于深度学习的程序理解研究进展

Translated title of the contribution: Program Comprehension Based on Deep Learning
  • Fang Liu
  • , Ge Li
  • , Xing Hu
  • , Zhi Jin*
  • *Corresponding author for this work
  • Peking University

Research output: Contribution to journalReview articlepeer-review

Abstract

Program comprehension is the process of obtaining relevant information in programs by analyzing, abstracting, and reasoning the programs. It plays an important role in software development, maintenance, migration, and other processes. It has received extensive attention in academia and industry. Traditional program comprehension relies heavily on the experience of developers. However, as the scale and complexity of software continue to grow, it is time-consuming and laborious to rely solely on the developer's prior knowledge to extract program features, and it is difficult to fully exploit the hidden features in the program. Deep learning is a data-driven end-to-end method. It builds deep neural networks based on existing data to mine the hidden features in data, and has been successfully applied in many fields. By applying deep learning technology to program comprehension, we can automatically learn the features implied in programs, which can fully exploit the knowledge implied in the program and improve the efficiency of program comprehension. This paper surveys the research work of program comprehension based on deep learning in recent years. Firstly, we analyze the properties of the program, and then introduce mainstream program comprehension models, including sequential models, structural models, and execution traces based models. Furthermore, the applications of deep learning-based program comprehension in program analysis are introduced, which mainly focus on code completion, code summarization and code search, etc. Finally, we summarize the challenges in program comprehension research.

Translated title of the contributionProgram Comprehension Based on Deep Learning
Original languageChinese (Traditional)
Pages (from-to)1605-1620
Number of pages16
JournalJisuanji Yanjiu yu Fazhan/Computer Research and Development
Volume56
Issue number8
DOIs
StatePublished - 1 Aug 2019
Externally publishedYes

Fingerprint

Dive into the research topics of 'Program Comprehension Based on Deep Learning'. Together they form a unique fingerprint.

Cite this