面向Solidity语言的变异测试系统设计与实现

来源 :南京大学 | 被引量 : 0次 | 上传用户:wangye31415926
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
Solidity是一种面向以太坊智能合约(Ethereum Smart Contract,ESC)的高级编程语言,用于在以太坊网络上实现智能合约。以太坊是当前最流行的智能合约开发与运行平台,已有超过百万款智能合约在以太坊中部署。然而研究表明,约90%的智能合约中存在缺陷,且由于区块链的不可修改性,这些缺陷难以被修复。因此,智能合约在部署前要尽可能充分地测试,这对保障以太坊用户资金安全以及构建可持续的以太坊生态具有重要意义。变异测试是一种衡量测试套件充分性的软件测试方法,它通过将故障注入到源程序中来检查测试套件揭示这些故障的能力。变异测试已被证明适用于各种编程语言及编程范式,因此采用变异测试来评估ESC测试的充分性是可行的。然而,现有变异算子无法覆盖ESC特有的缺陷,为了提高变异测试的效果,需要针对ESC编程语言Solidity设计新的变异算子。本文设计并实现了一个面向Solidity语言的变异测试系统。具体来说,本文从关键字、全局变量/函数、异常检测及合约漏洞等方面研究了Solidity的语言特性,提出了16个Solidity特殊变异算子。随后,基于Spring boot框架实现了一个面向Solidity语言的变异测试工具Mu SC。Mu SC能够在抽象语法树的层次上高效且准确地生成大量变异体,并基于Truffle框架实现合约的自动化部署及测试。此外,Mu SC还提供变异体展示、自定义测试链创建、测试报告生成等功能,具有较强的可用性。本文在4个真实以太坊分布式应用(DApp)中的26个智能合约上进行了实证研究,来证实变异测试以及新变异算子的有效性。实验结果显示,基于变异测试的方法在缺陷检测率上优于基于覆盖的方法(变异得分63.1比53.6),表明变异测试相比代码覆盖率可以更好的衡量ESC测试的充分性。此外,本文对729个真实ESC错误报告进行浏览分类,发现其中有117个与Solidity特殊变异算子有关,表明本文提出的新变异算子能够有效揭示真实缺陷。这些结果揭示了变异测试在ESC质量保障中的巨大潜力。
其他文献
“漂绿”(greenwashing)一词是“绿色”(green)和“漂白”(whitewash)两个词的混合体,是指企业不真实的环保行为(Bowen,2014)。或者说是组织内部的关于环保方面的象征性信息,而不采取实质性行动。作为企业的绿色行为响应策略,漂绿行为已经变得越来越普遍。然而,我国关于漂绿的研究尚未稚嫩,漂绿行为的动因研究更为欠缺。当前所面临的一个紧迫任务就是如何减少企业漂绿行为推动我国
我国自1994年实行分税制以来,财政收入与财政支出在央地之间一直呈现出显著的结构性不对称。在财政收入占比大体相当的格局下,财政支出责任过度下放给地方政府,地方政府承担
根据相关的统计数据,从计划生育政策的颁布实施以来,人口基数虽得到有效的控制,但却带来了中国社会正愈发的走向老龄化这一新问题,老龄人口在总人口中所占的比重越来越大,在
人工智能是近年来研究热点,卷积神经网络(CNN)是机器学习算法中解决模式识别问题的强有力的方法之一。同时高速计算设备和高速网络的发展为卷积神经网络的进一步研究和实践应用提供了可能,大数据时代带来的海量数据为卷积神经网络的训练提供了足够的数据来保证算法的精度和预测的准确性。卷积神经网络的训练和预测时长阻碍了算法的进一步发展,算法并行化是提高算法运行效率的一个有效方法。为了在不改变模型框架影响算法精度
众所周知,金融机构的信贷业务主要倾向于实力较强和信用等级较高的大型企业。对于实力较弱、信用等级较低的中小企业来说,想要从金融机构获得贷款难度较大。随着时代的发展,金融机构的信贷业务模式也在不断创新,供应链存货质押融资模式应运而生。该模式既拓展了金融机构的业务渠道,增加了业务量,又解决了中小企业资金短缺的问题。按时还本付息是金融机构对债务人的基本要求,为了保证贷款的安全性,金融机构加强信贷风险管理就
当前我国正处于全面建成小康社会的决胜期,经济结构转型升级,产业要素不断变化,电子商务、物流、国际商务等现代服务业快速发展,需要数量巨大的高素质、专业技能型财经类人才,但这类人才供给不足。一方面企业招工难,另一方面财经类人才对口就业难,面对这样的局面,探索构建校企合作人才培养模式能够有效缓解这一矛盾。在国家有关政策引领下,全国各省、市、地区的职业院校对校企合作人才培养模式进行了不同程度的探索实践,并
2019年的移动4G网络建设要以容量保障为主、完善覆盖为辅,打造一张融合的精品4G网络,增强整体资源效率,确保客户感知领先。由于移动通信网络工程项目的风险承受能力较低,有效的风险管理在佳木斯移动4G无线主设备扩容工程项目的实施过程中显得尤为重要。因此,本文围绕佳木斯4G无线主设备扩容工程项目的风险管理展开研究,以项目风险管理理论为基础,结合项目的实际情况,对项目的风险及风险控制方案进行探讨,为项目
农民是乡村治理有效的内生性主体,但并不是所有农民都是推进乡村善治的有效主体。基于赣南村庄的考察发现,村庄存在着一大批中坚农民群体,构成村庄治理场域下的中坚力量,但只
本科工程质量认证对高校的教学课程改革和教学管理等工作都具有重要的指导意义,选取合适的评价方法对高校的本科工程质量认证工作起到事半功倍的作用。本科工程质量认证工作从教学水平和学生学习成果两个方面进行,因此本文从教师教学水平和学生学习成果两个方面进行数据分析。对高校质量水平进行评价时,通常会以到课率和学生成绩等为主,但是这些评价方法都难免有些片面,不能准确反映出教师的综合教学水平和学生各方面的能力。因
金黄色葡萄球菌(S.aureus)是奶牛乳腺炎中常见的病原菌之一,常引起慢性乳腺内感染,带来巨大的经济损失。硒(Se)是哺乳动物必需的微量元素之一,通过硒蛋白的形式参与体内氧化还原系统和免疫系统的调节。硒代蛋氨酸(SeMet)是生产中常用的一种硒添加剂,与传统无机硒相比,具有低毒性和高生物利用率的特点。因此,本试验旨在研究SeMet对奶牛乳腺上皮细胞(BMECs)抗氧化能力的影响,以及其在S.au