[发明专利]一种智能合约代码相似检测方法在审
申请号: | 202110695693.0 | 申请日: | 2021-07-29 |
公开(公告)号: | CN113312268A | 公开(公告)日: | 2021-08-27 |
发明(设计)人: | 王荣;蔡维德 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F8/41;G06K9/62 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 智能 合约 代码 相似 检测 方法 | ||
1.一种智能合约代码相似检测方法,其特征在于,该方法的实现过程步骤包括:
S01、构建智能合约源码库;
S02、为每个智能合约生成智能合约抽象语法树(AST);
S03、基于AST提取变量序列和变量之间的依赖关系;
S04、构建智能合约语义图;
S05、将智能合约源码、语义图输入Bert预训练模型;
S06、构建智能合约源码库向量矩阵;
S07、利用学习到的智能合约向量与智能合约源码库向量矩阵进行相似度计算;
S08、生成相似度检测报告。
2.根据权利要求1所述的一种智能合约代码相似检测方法,其特征在于,所述步骤S01中构建智能合约源码库,智能合约可以是公有链、联盟链或私有链,根据不同类别智能合约创建不同的智能合约源码库,智能合约源码库由智能合约源码构成。
3.根据权利要求1所述的一种智能合约代码相似检测方法,其特征在于,所述步骤S02中生成智能合约抽象语法树,可以采用开源的智能合约抽象语法树工具,如编译器工具solc,还可以是利用智能合约编译工具来实现抽象语法树提取。
4.根据权利要求1所述的一种智能合约代码相似检测方法,其特征在于,所述步骤S03中基于AST提取变量序列和变量之间的依赖关系,通过对AST节点进行递归遍历提取变量序列和变量之间的依赖关系。
5.根据权利要求1所述的一种智能合约代码相似检测方法,其特征在于,所述步骤S04构建智能合约语义图,智能合约语义图是由变量序列和变量之间的依赖关系组成的图数据结构,变量序列中每个变量是智能合约语义图中的节点,变量之间的依赖关系是智能合约语义图中的边。
6.根据权利要求1所述的一种智能合约代码相似检测方法,其特征在于,所述步骤S05中Bert预训练模型,可以是原始Bert预训练模型,也可以是其他类型的Bert预训练模型。
7.根据权利要求1所述的一种智能合约代码相似检测方法,其特征在于,所述步骤S06构建智能合约源码库向量矩阵,是智能合约源码、智能合约语义图经过Bert预训练模型得到的动态向量构成的智能合约源码库向量矩阵。
8.根据权利要求1所述的一种智能合约代码相似检测方法,其特征在于,所述步骤S07中相似度计算,可以是点积或余弦相似度计算。
9.根据权利要求1所述的一种智能合约代码相似检测方法,其特征在于,所述步骤S08中生成相似度检测报告,报告包括智能合约相似具体数据和相似度计算结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110695693.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种电能替代潜力预测方法及系统
- 下一篇:一种环保实木复合门及其制备方法