[发明专利]面向Solidity智能合约的缺陷预测方法在审
申请号: | 202011562073.1 | 申请日: | 2020-12-25 |
公开(公告)号: | CN112579463A | 公开(公告)日: | 2021-03-30 |
发明(设计)人: | 杨慧文;崔展齐;贾明华;刘秀磊;刘建宾;郑丽伟 | 申请(专利权)人: | 北京信息科技大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京睿智保诚专利代理事务所(普通合伙) 11732 | 代理人: | 周新楣 |
地址: | 100192 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 solidity 智能 合约 缺陷 预测 方法 | ||
本发明公开了一种面向Solidity智能合约的缺陷预测方法,应用于软件缺陷预测技术领域,首先从Solidity源码中提取代码模块的度量元,并为每个代码模块标记缺陷数量,从而构建缺陷预测数据集;然后针对Solidity缺陷预测数据集中的类不平衡问题,采用过采样方法进行数据预处理;最后分别构建缺陷数量预测模型和缺陷倾向性预测模型,并评估模型的性能。本发明将度量元集与Solidity智能合约缺陷检测结果结合,构建了Solidity智能合约缺陷预测数据集,能够更好地描述Solidity智能合约的特征,基于以上数据集,分别验证了缺陷数量预测和缺陷倾向性预测问题中,不同模型的性能差异。
技术领域
本发明涉及软件缺陷预测技术领域,更具体的说是涉及一种面向Solidity智能合约的缺陷预测方法。
背景技术
区块链是以比特币为代表的数字加密货币体系的核心支撑技术。区块链技术的核心优势是去中心化,为解决中心化机构存在的高成本、低效率以及数据存储不安全等问题提供了解决方案。区块链技术的研究与应用呈现爆发式增长态势,政府部门、金融机构、科技企业和资本市场均等均在探索利用区块链技术解决实际问题的方法。
智能合约是区块链的核心构成要素,是一种用算法和程序来编制合同条款、运行在区块链且可按照规则自动执行的数字化协议。智能合约最早于1994年提出,随着区块链技术的出现受到广泛关注。通过编写智能合约可以实现更复杂的应用,从而拓展了区块链的功能。目前,智能合约在传统金融资产,以及社会系统中的资产管理、合同管理等方面发挥作用,如股权众筹,又或基于智能合约制定投票协议等。
智能合约在拓展区块链功能的同时,也带来了潜在的安全风险,智能合约的缺陷会对财产造成了巨大的损失,如:2017年11月Parity钱包遭到攻击,导致2.85亿美元的以太币被冻结;2016年6月最大众筹项目TheDAO的300多万以太币被非法转移等,并且与传统软件不同,智能合约在部署后进行补丁修复十分困难,因此智能合约的质量保证技术引起了工业界和学术界的广泛关注。
软件缺陷预测是缺陷检测技术的有效补充,软件缺陷预测技术通过分析软件代码或开发过程,设计与缺陷相关的度量元,借助机器学习等方法,预测软件模块的缺陷倾向性或缺陷数量,根据预测结果优化缺陷检测资源的分配,或判断系统的测试充分程度,以及作为软件是否可以交付的依据,以促进软件质量的提高。
但据我们所知,在智能合约领域还没有缺陷预测的相关研究。将软件缺陷预测技术应用于智能合约领域,面临以下挑战:
尚不存在智能合约缺陷预测数据集。
现有的度量元集关注代码复杂性以及面向对象程序的特征,而智能合约作为一种新型的、涉及到金额变动的程序,目前缺少有针对性的度量元集描述智能合约的相关特征。
因此,如何提供一种面向Solidity智能合约的缺陷预测方法是本领域技术人员亟需解决的问题。
发明内容
有鉴于此,本发明提供了一种面向Solidity智能合约的缺陷预测方法,将度量元集和Solidity缺陷检测结果结合,构建了Solidity智能合约缺陷预测数据集,能够更好地描述Solidity智能合约的特征,基于以上数据集,分别验证了缺陷数量预测和缺陷倾向性预测问题中,不同模型的性能差异。对于缺陷倾向性预测问题,进一步分析了使用过采样技术处理类不平衡数据集是否会提高预测性能。
为了实现上述目的,本发明提供如下技术方案:
一种面向Solidity智能合约的缺陷预测方法,具体步骤如下:
从源代码中提取度量元信息,并对该源代码进行缺陷检测,得到Solidity缺陷检测信息,将两者信息根据contract/library进行对应组合,构成缺陷数据集;
利用回归模型和分类模型对预测Solidity智能合约的进行预测。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京信息科技大学,未经北京信息科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011562073.1/2.html,转载请声明来源钻瓜专利网。