[发明专利]一种代码处理的方法、装置、介质及电子设备在审
| 申请号: | 202211379534.0 | 申请日: | 2022-11-04 |
| 公开(公告)号: | CN115599392A | 公开(公告)日: | 2023-01-13 |
| 发明(设计)人: | 高航;赵军锁;周瑶;李丹 | 申请(专利权)人: | 中国科学院软件研究所 |
| 主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F18/22;G06F18/214;G06F18/2431;G06N3/04;G06N3/084;G06N3/088 |
| 代理公司: | 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 | 代理人: | 吕爱霞 |
| 地址: | 100190 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 代码 处理 方法 装置 介质 电子设备 | ||
本申请实施例提供一种代码处理的方法、装置、介质及电子设备,所述方法包括:获取待处理的源代码数据;根据所述源代码数据和代码多视角特征提取及表征模型获取针对所述源代码数据的代码特征表征结果,其中,所述代码多视角特征提取及表征模型可从多个视角提取所述源代码数据的特征并对提取的各种特征进行表征,所述多个视角至少包括代码文本视角和代码拓扑图视角,所述代码特征表征结果至少用于表征所述源代码数据的结构与语义。本申请的一些实施例相较于其它现有方法,学习到的表示更加全面。同时,通过对比代码样本的不同视角,本申请的一些实施例构建了使用无监督学习处理无标注代码数据的解决方案,提高了数据利用率。
技术领域
本申请涉及代码处理领域,具体而言本申请实施例涉及一种代码处理的方法、装置、介质及电子设备。
背景技术
代码表示学习的目的是构建代码数据的更为简单,同时包含必要信息的特征表示。对于代码分析来说,代码的表示学习是至关重要的。
随着人工神经网络技术的发展,已经有多种类的神经网络技术方法被应用到了代码表示学习之上,包括用于处理序列化数据的LSTM网络,transformer网络,以及用于处理图结构数据的图神经网络。目前的基于神经网络的代码表示学习方法,主要是使用神经网络模型对于代码数据(例如,代码数据包括代码语句、代码构建得到的抽象语法树和代码注释等)进行处理,得到代码的特征向量形式的表示,这些代码的表示在下游任务(例如,该下游任务示例性包括漏洞匹配与查找、代码分类、代码总结或者代码生成等)中有着广泛的应用。
本申请的发明人在研究中发现,目前的基于神经网络的代码表示学习方法往往使用代码的单一视角进行学习。例如,基于图结构数据视角的代码表示学习方法,只对于代码的抽象语法树进行学习。基于序列化数据视角的LSTM网络,transformer网络等,往往只对于代码的文本语句,注释等信息进行处理。然而在源代码中,即包含有丰富的文本信息,语义信息,包括各个语句的含义,注释的内容等,同时也包含有图结构的信息,包括调用关系,运行逻辑等。现有手段无法充分融合利用这些信息来进行完备的代码表示学习。
发明内容
本申请实施例的目的在于提供一种代码处理的方法、装置、介质及电子设备,本申请的一些实施例通过结合两种不同代码视角,包括图结构视角以及序列结构视角,使用对应的神经网络进行处理,然后进行无监督与有监督的学习,实现了代码的结构与语义的信息的表示获取,相较于其它现有方法,学习到的表示更加全面。同时,通过对比代码样本的不同视角,本申请的一些实施例构建了使用无监督学习处理无标注代码数据的解决方案,提高了数据利用率。
第一方面,本申请实施例提供一种代码处理的方法,所述方法包括:获取待处理的源代码数据;根据所述源代码数据和代码多视角特征提取及表征模型获取针对所述源代码数据的代码特征表征结果,其中,所述代码多视角特征提取及表征模型可从多个视角提取所述源代码数据的特征并对提取的各种特征进行表征,所述多个视角至少包括代码文本视角和代码拓扑图视角,所述代码特征表征结果至少用于表征所述源代码数据的结构与语义。
本申请的一些实施例使用基于代码数据的多个视角进行代码数据的特征提取及表征,进而得到更好的代码表示。
在一些实施例中,在所述根据所述源代码数据和代码多视角特征提取及表征模型获取针对所述源代码数据的代码特征表征结果之后,所述方法还包括:根据所述代码表征结果完成对所述源代码数据的分析。
本申请的一些实施例基于代码表征结果进行代码的进一步分析(例如,分类分析等)获取更好的处理结果。
在一些实施例中,在所述根据所述源代码数据和代码多视角特征提取及表征模型获取针对所述源代码数据的代码特征表征结果之前,所述方法还包括:通过无监督预训练以及有监督训练得到所述代码多视角特征提取及表征模型,其中,所述代码特征表征模型包括代码第一视角特征提取表征模型以及代码第二视角特征提取表征模型。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211379534.0/2.html,转载请声明来源钻瓜专利网。





