当前位置:主页 > 科技论文 > 搜索引擎论文 >

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

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

【文章页数】:16 页

【文章目录】:
1 程序性质及程序理解框架
    1.1 程序性质
        1.1.1 强结构性
        1.1.2 自定义标识符
        1.1.3 长依赖
        1.1.4 可执行性
    1.2 基于深度学习的程序理解框架
2 程序理解的深度学习模型
    2.1 基于序列的程序理解模型
        2.1.1 基于字符序列的程序理解模型
        2.1.2 基于词素 (token) 序列的程序理解模型
        2.1.3 基于应用程序接口 (API) 序列程序理解模型
    2.2 基于结构的程序理解模型
        2.2.1 基于抽象语法树的程序理解模型
        2.2.2 基于图的程序理解模型
    2.3 基于执行过程的程序理解模型
    2.4 模型对比分析
3 相关应用
    3.1 代码补全
    3.2 代码注释生成
    3.3 代码风格修正
    3.4 代码搜索
    3.5 程序自动生成
4 问题与挑战
    4.1 数据集的获取
    4.2 程序的表示
    4.3 自定义标识符的处理
    4.4 模型的有效性分析
5 总 结



本文编号:3695991

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/sousuoyinqinglunwen/3695991.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户1bffa***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com