[发明专利]一种应用改进遗传算法的智能合约测试用例生成方法有效

专利信息
申请号: 202010579513.8 申请日: 2020-06-23
公开(公告)号: CN111797010B 公开(公告)日: 2022-09-23
发明(设计)人: 张鹏程;于佳男 申请(专利权)人: 河海大学
主分类号: G06F11/36 分类号: G06F11/36;G06N3/00;G06N3/12;G06Q40/04
代理公司: 南京苏高专利商标事务所(普通合伙) 32204 代理人: 孟红梅
地址: 210024 *** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 应用 改进 遗传 算法 智能 合约 测试 生成 方法
【权利要求书】:

1.一种应用改进遗传算法的智能合约测试用例生成方法,其特征在于,包括如下步骤:

(1)根据以太坊智能合约程序的源代码生成对应的控制流图;

(2)遍历控制流图中节点,提取出合约程序中包含的全部整型变量的信息,同时定位合约中各个require语句所在的节点位置;

(3)根据步骤(2)获得的整型变量信息遍历控制流图,统计合约中的变量的定义-使用对dup,记为N_dup;在统计得到的N_dup集合中,根据步骤(2)中的require语句定位结果进一步划分出与require语句执行相关的dup,记为R_dup;

(4)根据统计出的R_dup和N_dup对程序进行代码插桩,得到插桩后的智能合约程序;具体包括两部分:在代码最初位置插入语句声明dup覆盖状态标识变量,初始化为false,并在对应dup执行后插入语句将变量赋值为true;在代码最初位置插入语句声明被覆盖dup数量的统计变量并在代码最末位置插入统计变量的输出函数,在dup覆盖状态标识变量赋值true的语句后插入语句统计变量的自增;经过上述插桩后,输出对应的智能合约代码;

(5)根据预定义的种群规模以及步骤(2)获取的智能合约程序中的整型变量信息初始化生成第一代种群,默认第一代种群为初始的个体最佳I_O,其中,取得最大适应度值的个体为初始全局最佳G_O;

(6)根据步骤(5)中的初始信息,采用遗传算法的选择、交叉、变异操作逐代生成新的种群,并将生成的每代新种群带入步骤(4)得到的插桩后的合约程序中执行,根据预定义的适应度函数计算适应度值更新G_O、I_O并形成新的父代种群重复遗传算法执行;

(7)当满足预先设置的终止条件时,遗传算法停止,输出G_O和I_O作为算法最终的输出结果。

2.根据权利要求1所述的应用改进遗传算法的智能合约测试用例生成方法,其特征在于,所述步骤(1)包括如下步骤:

(11)构建智能合约中每个函数对应的子控制流图,针对与控制结构相关的关键字去识别智能合约程序中的各个控制结构,包括顺序结构、条件结构、循环结构;在子控制流图构建过程中将由require所标识的控制结构处理为条件结构;

(12)构建整体控制流图,逐个处理合约中的函数调用,对于存在调用的地方,用一对调用-返回边来表示智能合约中的函数调用和返回关系,从而构建完整的控制流图。

3.根据权利要求1所述的应用改进遗传算法的智能合约测试用例生成方法,其特征在于,所述步骤(2)中包括如下步骤:

(21)遍历控制流图节点,基于智能合约中用于声明整型变量信息的关键字,匹配字符串,获取智能合约中的整型变量信息存储在列表Lv中,包括变量名、变量长度和变量类型;并对Lv中每个变量分别初始化两个列表Lv_u、Lv_d用来存储变量的定义节点和使用节点;

(22)遍历控制流图节点,识别智能合约中require语句并定位其所在的节点。

4.根据权利要求3所述的应用改进遗传算法的智能合约测试用例生成方法,其特征在于,所述步骤(3)中包括如下步骤:

(31)根据控制流图,从初始节点开始执行前序遍历,若遍历节点存在对Lv中某一变量的定义,则将节点加入到对应变量的Lv_u中,若遍历节点存在对Lv中某一变量的使用,则将节点加入到对应变量的Lv_d中,并在该变量的Lv_u中找到距离当前使用节点最近的前置定义节点,组成一个N_dup;遍历控制流图的所有路径,统计N_dup的数量;

(32)根据智能合约中的require语句所在节点信息,在步骤(31)统计的N_dup集合的基础上,标记出与require语句执行相关的dup,记为R_dup,统计R_dup的数量。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于河海大学,未经河海大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202010579513.8/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top