[发明专利]一种基于变异测试的虚拟原型错误检测方法在审
申请号: | 201811176866.2 | 申请日: | 2018-10-10 |
公开(公告)号: | CN109542698A | 公开(公告)日: | 2019-03-29 |
发明(设计)人: | 陈铭松;顾海峰;张健宁;胡铭;段文雪;谢永康;宋云飞 | 申请(专利权)人: | 华东师范大学 |
主分类号: | G06F11/22 | 分类号: | G06F11/22 |
代理公司: | 上海蓝迪专利商标事务所(普通合伙) 31215 | 代理人: | 徐筱梅;张翔 |
地址: | 200241 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 虚拟原型 变异测试 错误检测 硬件设备 规约 约束条件 操作符 变异规则 插入工具 符号执行 设备测试 系统设计 语言描述 可执行 引擎 检测 转化 发现 | ||
1.一种基于变异测试的虚拟原型错误检测方法,其特征在于,该方法包括以下步骤:
步骤1:使用SystemRDL语言描述硬件设备的规约;
步骤2:将硬件设备规约转化为一个能够执行的原始FDM模型;
步骤3:依据变异规则对原始FDM模型中的操作符生成对应的变异约束条件和索引编号;
步骤4:将FDM模型和已有的测试用例集traces作为输入,利用符号执行引擎对虚拟原型进行错误检测。
2.根据权利要求1所述的虚拟原型错误检测方法,其特征在于,步骤1所述SystemRDL语言包括:关键组件field、register、register file、address map、signal、macro和function及设备寄存器的属性;其中,
所述关键组件field用于指定设备寄存器的每一位所具备的属性和名称;
所述关键组件register用于描述硬件设备所具有的寄存器,同时指定对应寄存器的属性、实例名称以及地址偏移量;
所述关键组件register file用于描述寄存器的划分;
所述关键组件address map用于指定寄存器或寄存器组组合成为一个硬件设备地址空间;
所述关键组件signal用于定义一条连线连接其他组件的输入或输出;
所述关键组件macro用于定义在“function”组件中描述设备寄存器行为逻辑时要使用的宏,格式是macro_name=value;
所述关键组件function用于定义硬件设备寄存器的行为逻辑,其格式是在该组件的代码描述部分按照C语言函数定义的格式进行描述;
所述设备寄存器的属性用于指定设备寄存器所应具备的特性,包括读写访问权限、寄存器的位宽。
3.根据权利要求1所述的虚拟原型错误检测方法,其特征在于,步骤2所述能够执行的原始FDM模型,其组成是基于C/C++格式的源代码文件集合,包括了硬件设备模型的主函数和各个接口寄存器的行为逻辑;其中,
所述主函数用于控制硬件设备模型的输入输出;
所述接口寄存器的行为逻辑用于描述接口寄存器在影响设备动作请求后的状态变迁。
4.根据权利要求1所述的虚拟原型错误检测方法,其特征在于,步骤3所述依据变异规则对原始FDM模型中的操作符生成对应的变异约束条件和索引编号是:在原始FDM模型中,依据变异规则对操作符即操作算子进行变异,在含有操作符的语句前插入对应的变异约束条件和索引编号。
5.根据权利要求1所述的虚拟原型错误检测方法,其特征在于,步骤4所述利用符号执行引擎对虚拟原型进行错误检测是:利用符号执行引擎来符号化执行含有变异约束条件的FDM模型并将状态结果和满足的变异约束条件与测试用例trace中的对应状态和变异约束条件分别做对比进行错误检测。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华东师范大学,未经华东师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811176866.2/1.html,转载请声明来源钻瓜专利网。