[发明专利]智能合约操作码覆盖率计算方法和系统有效
申请号: | 201710405835.9 | 申请日: | 2017-05-31 |
公开(公告)号: | CN107329888B | 公开(公告)日: | 2019-10-18 |
发明(设计)人: | 郭世清;张开翔;万磊;范瑞彬;卢道和 | 申请(专利权)人: | 深圳前海微众银行股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 胡海国 |
地址: | 518052 广东省深圳市前海深港合作区前*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 智能 合约 操作 覆盖率 计算方法 系统 | ||
1.一种智能合约操作码覆盖率计算方法,其特征在于,所述智能合约操作码覆盖率计算方法包括以下步骤:
当获取到智能合约的源代码文件时,发送部署请求给区块链,以供所述区块链根据所述部署请求部署智能合约,并返回所述智能合约的合约地址;
根据所述区块链返回的所述智能合约的合约地址获取所述智能合约的标识信息,构建含有所述标识信息的交易请求,并将所述交易请求发送给所述区块链,以供所述区块链根据所述交易请求中的标识信息输出对应的统计结果文件至预设的存储介质中;
根据所述标识信息在所述存储介质中获取所述统计结果文件,根据所述统计结果文件和预设公式计算所述智能合约操作码覆盖率;
其中,所述以供所述区块链根据所述交易请求中的标识信息输出对应的统计结果文件至预设的存储介质中的步骤包括:
由所述区块链接收所述交易请求,解析所述交易请求中的输入参数列表,得到所述输入参数列表中的标识信息;
根据所述输入参数列表中的标识信息判断预置的统计信息表中是否已存在与所述输入参数列表中的标识信息对应的统计信息项,其中,统计信息项的数据结构包括以下信息:智能合约源代码文件的标识信息、最老的统计块号、最新的统计块号、更新最新的统计块号的更新时间和长度为智能合约操作码总长度的标志位列表;
若所述统计信息表中存在与所述输入参数列表中的标识信息对应的统计信息项,则获取执行所述交易请求过程中每个操作码在所述操作码集合中的序号,并在对应的标志位列表中将所述序号对应元素的值设置为1;
更新所述区块链当前的块高度,以及更新所述块高度的更新时间;
若更新后的所述块高度满足预设条件,则以所述输入参数列表中的标识信息为文件名,将所述区块链中更新前后的块高度、所述更新时间和所述标志位列表形成统计结果文件,将所述统计结果文件输出至所述存储介质中。
2.如权利要求1所述的智能合约操作码覆盖率计算方法,其特征在于,所述根据所述区块链返回的所述智能合约的合约地址获取所述智能合约的标识信息的步骤之前,还包括:
编译所述源代码文件,得到所述源代码文件的操作码集合以及与所述操作码对应的源代码信息,并初始化与所述源代码文件对应的登记信息。
3.如权利要求2所述的智能合约操作码覆盖率计算方法,其特征在于,所述构建含有所述标识信息的交易请求的步骤包括:
调用预设的测试用例,获取与所述测试用例对应的调用方法名和输入参数列表;
将所述标识信息添加到所述输入参数列表中,根据所述合约地址、所述调用方法名和所述输入参数列表构建交易请求。
4.如权利要求1所述的智能合约操作码覆盖率计算方法,其特征在于,所述根据所述统计结果文件和预设公式计算所述智能合约操作码覆盖率的步骤包括:
获取所述统计结果文件中的标志位列表;
计算所述标志位列表中元素值为1的元素个数,以及计算所述标志位列表中总元素的个数;
基于所述预设公式,根据所述元素值为1的元素个数和所述总元素的个数计算得到所述智能合约操作码覆盖率,其中,所述预设公式为:
其中,m>0,Ti代表第i个测试用例的操作码路径的集合,代表m个测试用例的操作码路径的集合做数学并集所得到的集合,等于所述标志位列表中元素值为1的元素个数;所述操作码集合大小等于所述标志位列表中总元素的个数。
5.如权利要求1或4所述的智能合约操作码覆盖率计算方法,其特征在于,所述根据所述标识信息判断预置的统计信息表中是否已存在与所述标识信息对应的统计信息项的步骤之后,还包括:
若所述统计信息表中未存在与所述标识信息对应的统计信息项,则在所述统计信息表中以所述标识信息为索引,增加新的统计信息项。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳前海微众银行股份有限公司,未经深圳前海微众银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710405835.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于推荐系统的数据处理方法以及装置
- 下一篇:一种可变温的柴油机调节装置