[发明专利]一种基于变异测试的虚拟原型错误检测方法在审
申请号: | 201811176866.2 | 申请日: | 2018-10-10 |
公开(公告)号: | CN109542698A | 公开(公告)日: | 2019-03-29 |
发明(设计)人: | 陈铭松;顾海峰;张健宁;胡铭;段文雪;谢永康;宋云飞 | 申请(专利权)人: | 华东师范大学 |
主分类号: | G06F11/22 | 分类号: | G06F11/22 |
代理公司: | 上海蓝迪专利商标事务所(普通合伙) 31215 | 代理人: | 徐筱梅;张翔 |
地址: | 200241 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 虚拟原型 变异测试 错误检测 硬件设备 规约 约束条件 操作符 变异规则 插入工具 符号执行 设备测试 系统设计 语言描述 可执行 引擎 检测 转化 发现 | ||
本发明公开了一种基于变异测试的虚拟原型错误检测方法,包括以下步骤:步骤1:使用SystemRDL语言描述硬件设备的规约;步骤2:将硬件设备规约转化为一个可执行的FDM模型;步骤3:依据变异规则在FDM模型中对操作符生成对应的变异约束条件;步骤4:将FDM模型和已有的设备测试用例集traces作为输入,利用符号执行引擎对虚拟原型进行错误检测。本发明基于变异测试,通过自动插入工具能够在原始FDM模型中插入相应操作符的变异约束条件,并以此模型为参照来检测硬件设备虚拟原型中可能存在的错误,从而能够在早期系统设计的时候及时发现设计缺陷。
技术领域
本发明属于计算机技术领域,涉及变异测试技术、硬件设备规约转换技术及符号执行技术,尤其涉及到了将不可执行的设备规约转换为可执行的设备模型,在设备模型中对操作符生成相应的变异约束条件,并将此模型作为硬件设备的高阶参照标准,实现了以此为参照来检测设备虚拟原型中可能存在的错误。
背景技术
变异测试(Mutation Testing)作为最流行的测试方法之一,已经被广泛应用于学术界和商业界。变异测试通过对源程序中含有操作符的运算语句进行变异,如将加号变异为减号(减号即代表了程序的错误实现),以此来描述一个程序中可能存在的错误。通常,若直接改变原语句中的操作符,那该程序就成为原始程序的一个变体,但这种方式在描述错误时一次只能对程序中的一个操作符进行变异。若想一次对原始程序中的所有可能变异进行描述,就不能直接变异原始语句,而是通过在原始语句前插入对应变异的约束条件,使得该条件判断能够区分出正确实现和错误实现。
规约(Specification)是指针对设计或协议所应该遵循的一组约束。它是作为后期实施行为的参照标准。硬件设备规约定义了一个设备在设计之初给定的设备应该遵循的约束并以此为参照。目前工业界广泛采用SystemRDL语言来描述一个硬件设备的规约,并且它贯穿于该硬件设备的整个生命周期。它不仅可以作为硬件设备后期具体实现的参照标准,还可以用于在不同组织或不同硬件厂商之间共享该硬件设备IP(IntellectualProperty)。SystemRDL语言的发展增强了传统使用说明文档来描述设备规约的可读性和可操作性,近年来伴随着硬件工程师需求的提高,SystemRDL的表达能力也在不断地增强,预计近一两年内官方会发布SystemRDL v2.0版本,让工程师们可以更加高效地描述一个硬件设备的规约。
然而,现阶段的SystemRDL v1.0版本尚且存在一些表达能不足的问题,难以完成对设备寄存器的行为逻辑的描述。所以,增强其表达能力已经成为一个迫切需要解决的问题。同时,使用SystemRDL描述的设备规约是不能直接执行的,需要对其加以转换才能使之成为可执行的设备模型。
符号执行(Symbolic Execution)是计算机领域中一种非常重要的方法,在计算机软硬件及控制系统的测试和验证中得到了广泛的应用。对于可执行程序中的某些变量可以设置为符号化的变量,通过在符号执行引擎中使用相应的符号值代替真实值加以执行。同时在执行过程中如果遇到了分支,并且该分支的判断条件中存在符号变量,那么符号执行引擎将会对该分支创建所有可能的分支进程来分别执行不同的情况。在程序执行的最后,符号执行引擎会将执行过程中记录的各个符号变量的表达式以合取的方式传递给约束求解器并返回相应符号变量的具体值。
发明内容
本发明的目的是提出一种基于变异测试的虚拟原型错误检测方法,该方法将使用SystemRDL语言来描述硬件设备规约转换成一种可执行的原始FDM模型,依据变异规则对原始FDM模型中的操作符生成相应的变异约束条件,由于使用SystemRDL语言来描述硬件设备规约是一个硬件设备的参照标准并且插入的变异约束条件不会影响原始FDM模型的行为逻辑,从而可以将含有变异约束条件的FDM模型视作该硬件设备的可执行参照模型,并以此来检测该硬件设备的具体实现(如设备的虚拟原型)是否满足了设备的规约,是否在具体实现中存在可能的错误缺陷。
实现本发明目的的具体技术方案是:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华东师范大学,未经华东师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811176866.2/2.html,转载请声明来源钻瓜专利网。