• 中国精品科技期刊
  • CCF推荐A类中文期刊
  • 计算领域高质量科技期刊T1类
高级检索

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

刘芳, 李戈, 胡星, 金芝

刘芳, 李戈, 胡星, 金芝. 基于深度学习的程序理解研究进展[J]. 计算机研究与发展, 2019, 56(8): 1605-1620. DOI: 10.7544/issn1000-1239.2019.20190185
引用本文: 刘芳, 李戈, 胡星, 金芝. 基于深度学习的程序理解研究进展[J]. 计算机研究与发展, 2019, 56(8): 1605-1620. DOI: 10.7544/issn1000-1239.2019.20190185
Liu Fang, Li Ge, Hu Xing, Jin Zhi. Program Comprehension Based on Deep Learning[J]. Journal of Computer Research and Development, 2019, 56(8): 1605-1620. DOI: 10.7544/issn1000-1239.2019.20190185
Citation: Liu Fang, Li Ge, Hu Xing, Jin Zhi. Program Comprehension Based on Deep Learning[J]. Journal of Computer Research and Development, 2019, 56(8): 1605-1620. DOI: 10.7544/issn1000-1239.2019.20190185
刘芳, 李戈, 胡星, 金芝. 基于深度学习的程序理解研究进展[J]. 计算机研究与发展, 2019, 56(8): 1605-1620. CSTR: 32373.14.issn1000-1239.2019.20190185
引用本文: 刘芳, 李戈, 胡星, 金芝. 基于深度学习的程序理解研究进展[J]. 计算机研究与发展, 2019, 56(8): 1605-1620. CSTR: 32373.14.issn1000-1239.2019.20190185
Liu Fang, Li Ge, Hu Xing, Jin Zhi. Program Comprehension Based on Deep Learning[J]. Journal of Computer Research and Development, 2019, 56(8): 1605-1620. CSTR: 32373.14.issn1000-1239.2019.20190185
Citation: Liu Fang, Li Ge, Hu Xing, Jin Zhi. Program Comprehension Based on Deep Learning[J]. Journal of Computer Research and Development, 2019, 56(8): 1605-1620. CSTR: 32373.14.issn1000-1239.2019.20190185

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

基金项目: 国家“九七三”重点基础研究发展计划基金项目(2015CB352201);国家自然科学基金项目(61620106007,61751210)
详细信息
  • 中图分类号: TP311

Program Comprehension Based on Deep Learning

  • 摘要: 程序理解通过对程序进行分析、抽象、推理从而获取程序中相关信息,在软件开发、维护、迁移等过程中起重要作用,因而得到学术界和工业界的广泛关注.传统程序理解很大程度上依赖开发人员的经验,但随着软件规模及其复杂度不断增大,完全依赖开发人员的先验知识提取程序特征既耗时耗力,又很难充分挖掘出程序中隐含特征.深度学习是一种数据驱动的端到端的方法,它根据已有数据构建深度神经网络对数据中隐含的特征进行挖掘,已经在众多领域中获得成功应用.将深度学习技术运用于程序理解中,根据具体任务以及大量数据自动地学习程序数据中蕴含的特征,可以充分地挖掘出程序中隐含的知识,提高程序理解的效率.对基于深度学习的程序理解研究工作进行综述,首先对程序所包含的性质进行分析,然后介绍主流的程序理解模型,包括基于序列、结构以及执行过程的程序理解模型.随后展示基于深度学习的程序理解在程序分析中的应用,主要针对代码补全、代码注释生成、代码检索等任务.最后,分析并总结程序理解研究所面临的挑战.
    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.
  • 期刊类型引用(8)

    1. 袁振,侯玉亮,杜宇慧. 面向脑核磁共振识别运动任务的门控循环单元方法. 中国图象图形学报. 2023(02): 589-600 . 百度学术
    2. 姚志武,侯丽娜,文茂华. 基于LSTM算法的大坝坝体渗透压力预测. 水利建设与管理. 2023(08): 54-59 . 百度学术
    3. 潘丹,林灵婷,翁凌雯,李棋,常尧. 基于时空双分支网络的行为检测与识别技术研究. 电子设计工程. 2023(18): 191-195 . 百度学术
    4. 赵佳佳,刘磊. 鱼类集群运动的注意力模型研究. 软件导刊. 2022(06): 36-40 . 百度学术
    5. 郭勇,赵康,潘力. 结合改进Bi-LSTM和CNN的文本情感分析. 信息技术. 2021(02): 50-55 . 百度学术
    6. 高瑞,郝乐,刘宝,文静怡,陈宇航. 基于改进ResNet网络的井下钻杆计数方法. 工矿自动化. 2020(10): 32-37 . 百度学术
    7. 许春冬,徐琅,周滨,凌贤鹏. 单通道语音增强技术的研究现状与发展趋势. 江西理工大学学报. 2020(05): 55-64 . 百度学术
    8. 何永勃,李明伟. 基于循环神经网络的飞机货舱火灾快速识别算法. 消防科学与技术. 2020(11): 1490-1494 . 百度学术

    其他类型引用(14)

计量
  • 文章访问数:  2441
  • HTML全文浏览量:  8
  • PDF下载量:  1665
  • 被引次数: 22
出版历程
  • 发布日期:  2019-07-31

目录

    /

    返回文章
    返回