[发明专利]一种基于特征融合的算法血缘管理方法及装置在审
申请号: | 202210871381.5 | 申请日: | 2022-07-22 |
公开(公告)号: | CN115373738A | 公开(公告)日: | 2022-11-22 |
发明(设计)人: | 潘晓华;王楦烨;苏蒙蒙;沈诗婧;尹建伟 | 申请(专利权)人: | 浙江大学滨江研究院 |
主分类号: | G06F8/75 | 分类号: | G06F8/75;G06F16/33;G06F16/338 |
代理公司: | 杭州天勤知识产权代理有限公司 33224 | 代理人: | 高燕 |
地址: | 310051 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 特征 融合 算法 血缘 管理 方法 装置 | ||
1.一种基于特征融合的算法血缘管理方法,其特征在于,包括:
步骤1、获取算法信息与对应的源码数据,对所述源码数据进行解析,获得控制流图与所述控制流图中节点信息对应的抽象语法树;
步骤2、获取源码数据在所述控制流图中对应的节点信息,计算获得节点信息对应的节点嵌入向量;
步骤3、获取源码数据在所述抽象语法树中对应的序列标识符,计算获得序列标识符对应的词嵌入向量;
步骤4、对步骤2获得的节点嵌入向量和步骤3获得的词嵌入向量进行融合,获得对应源码数据的融合特征向量;
步骤5、根据步骤1获得的算法信息和步骤4获得的融合特征向量,将源码数据对应的融合特征向量进行可视化分析,获得用于溯源管理源码数据的算法血缘图谱。
2.根据权利要求1所述的基于特征融合的算法血缘管理方法,其特征在于,所述步骤1中的算法信息包括原始文件路径、模型名、函数名、编程语言、代码注释、输入输出类型以及功能信息。
3.根据权利要求1所述的基于特征融合的算法血缘管理方法,其特征在于,所述步骤1获得控制流图后,要对控制流图进行预处理,所述预处理包括节点信息的拼接与替换,对预处理后的控制流图进行特征提取。
4.根据权利要求1所述的基于特征融合的算法血缘管理方法,其特征在于,所述步骤1获得抽象语法树后,要对抽象语法树进行预处理,所述预处理包括对程序中的变量进行规范化,并添加全局自增数量,对预处理后的抽象语法树进行特征提取。
5.根据权利要求1所述的基于特征融合的算法血缘管理方法,其特征在于,所述步骤2的节点嵌入向量是基于控制流图的非对称传递性,采用HOPE算法进行特征提取,所述节点嵌入向量的长度为4。
6.根据权利要求1所述的基于特征融合的算法血缘管理方法,其特征在于,所述步骤3中抽象语法树的序列标识符是通过深度优先搜索算法,从根节点出发对预处理后的抽象语法树进行遍历生成。
7.根据权利要求1所述的基于特征融合的算法血缘管理方法,其特征在于,所述步骤3的词嵌入向量是采用Word2Vec算法对序列标识符进行特征提取,所述词嵌入向量的长度为50。
8.根据权利要求1所述的基于融合特征的算法血缘管理方法,其特征在于,所述步骤4的融合特征向量是通过拼接当前节点中所有序列标识符的词嵌入向量和节点的节点嵌入向量获得,其具体表达式如下:
式中,ECFG表示源码数据的节点嵌入向量,表示节点内的第k个标识符的词嵌入向量。
9.根据权利要求1所述的基于融合特征的算法血缘管理方法,其特征在于,所述步骤5的可视化分析是基于融合特征向量,采用欧氏距离计算源码数据之间的相似度,将相似度小于阈值的源码数据进行归类,并以算法信息为检索属性,构建算法血缘图谱。
10.一种算法血缘管理装置,包括计算机存储器、计算机处理器以及存储在所述计算机存储器中并可在所述计算机处理器上执行的计算机程序,其特征在于,所述计算机存储器中执行如权利要求1-9任一所述的基于融合特征的算法血缘管理方法;所述计算机处理器执行所述计算机程序时实现以下步骤:输入待检索算法的源码数据,通过可视化的算法血缘图谱进行检索,输出与目标算法具有亲和关系的算法数据集。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学滨江研究院,未经浙江大学滨江研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210871381.5/1.html,转载请声明来源钻瓜专利网。