跳到主要导航 跳到搜索 跳到主要内容

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

  • Fang Liu
  • , Ge Li
  • , Xing Hu
  • , Zhi Jin*
  • *此作品的通讯作者
  • Peking University

科研成果: 期刊稿件文献综述同行评审

摘要

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.

投稿的翻译标题Program Comprehension Based on Deep Learning
源语言繁体中文
页(从-至)1605-1620
页数16
期刊Jisuanji Yanjiu yu Fazhan/Computer Research and Development
56
8
DOI
出版状态已出版 - 1 8月 2019
已对外发布

关键词

  • Data mining
  • Deep learning
  • Program analysis
  • Program comprehension
  • Software engineering

指纹

探究 '基于深度学习的程序理解研究进展' 的科研主题。它们共同构成独一无二的指纹。

引用此