[发明专利]源代码语言类型检测方法和系统、设备及存储介质在审
申请号: | 202210344124.6 | 申请日: | 2022-04-02 |
公开(公告)号: | CN114840207A | 公开(公告)日: | 2022-08-02 |
发明(设计)人: | 何魏酉;张研;李薛 | 申请(专利权)人: | 三六零数字安全科技集团有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06K9/62 |
代理公司: | 北京市鼎立东审知识产权代理有限公司 11751 | 代理人: | 朱慧娟 |
地址: | 100015 北京市朝阳区酒*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 源代码 语言 类型 检测 方法 系统 设备 存储 介质 | ||
1.一种源代码语言类型检测方法,其特征在于,包括:
基于预先构建的代码特征集合,提取当前要检测的源代码的代码特征;
计算所述代码特征的TF-IDF,并基于计算得到的TF-IDF结合训练好的检测模型,由所述检测模型根据所述TF-IDF对当前要检测的所述源代码进行检测分类。
2.根据权利要求1所述的方法,其特征在于,所述代码特征集合中包括不同语言类型的源代码的变量类型、函数名、包名、语法格式、标识符中的至少一种。
3.根据权利要求1所述的方法,其特征在于,基于预先构建的代码特征集合,提取当前要检测的源代码的代码特征时,按照元素匹配的方式进行。
4.根据权利要求1所述的方法,其特征在于,还包括检测模型训练的步骤;
其中,对所述检测模型进行训练时,包括:
收集不同语言类型的源代码的变量类型、函数名、包名、语法格式、标识符中的至少一种构建所述代码特征集合,并收集预设数量的源代码作为样本数据;其中,预设数量的源代码的语言类型包括多种;
基于所述代码特征集合提取各所述样本数据的代码特征,并计算提取出的样本数据的代码特征计算TF-IDF;
将各所述样本数据的TF-IDF输入至检测模型中,对所述检测模型进行训练。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述检测模型为随机森林模型。
6.根据权利要求1至4任一项所述的方法,其特征在于,基于预先构建的代码特征集合,提取当前要检测的源代码的代码特征之前,还包括:
由所述源代码中提取出特有特征,在提取出所述特有特征时,执行根据所述特有特征对所述源代码进行检测分类的步骤。
7.一种源代码语言类型检测系统,其特征在于,包括:特征提取模块和检测分类模块;
所述特征提取模块,被配置为基于预先构建的代码特征集合,提取当前要检测的源代码的代码特征;
所述检测分类模块,被配置为计算所述代码特征的TF-IDF,并基于计算得到的TF-IDF结合训练好的检测模型,由所述检测模型根据所述TF-IDF对当前要检测的所述源代码进行检测分类。
8.根据权利要求7所述的系统,其特征在于,还包括启发式检测模块;
所述启发式检测模块,被配置为在所述特征提取模块提取当前要检测的源代码的代码特征之前,由所述源代码中提取出特有特征,在提取出所述特有特征时,执行根据所述特有特征对所述源代码进行检测分类的步骤。
9.一种源代码语言类型检测设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述可执行指令时实现权利要求1至6中任意一项所述的方法。
10.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至6中任意一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于三六零数字安全科技集团有限公司,未经三六零数字安全科技集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210344124.6/1.html,转载请声明来源钻瓜专利网。