[发明专利]一种随机测试程序生成方法有效
申请号: | 201511001282.8 | 申请日: | 2015-12-28 |
公开(公告)号: | CN105630680B | 公开(公告)日: | 2018-12-18 |
发明(设计)人: | 罗汉青;梁利平;王志君 | 申请(专利权)人: | 中国科学院微电子研究所 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京华沛德权律师事务所 11302 | 代理人: | 房德权 |
地址: | 100029 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 随机 测试 程序 生成 方法 | ||
1.一种随机测试程序生成方法,其特征在于,包括如下步骤:
步骤1:随机选择一种指令;
步骤2:运行指令冲突检测流程选择出步骤1所选指令的指令参数;
步骤3:判断步骤1所选指令是否为目标跳转指令,若是则生成所述目标跳转指令的相关指令参数,然后执行步骤4,否则直接执行步骤4;
步骤4:基于指令集执行参考模型判断是否接受本循环所有指令参数,包括:使用所述指令集执行参考模型模拟执行所述本循环所有指令参数,得到执行结果,所有指令参数包括:源寄存器、目的寄存器、程序计数器的值、读写流水级以及旁路信息;判断所述执行结果是否在所述指令集执行参考模型所定义的合理结果集合内,如果是则为全部接受,否则为不接受;若全部接受则执行步骤5,否则返回步骤1;
步骤5:基于所述本循环所有指令参数产生至少一条测试指令;
步骤6:判断是否达到预设指令条数,是则结束循环,否则返回步骤1。
2.如权利要求1所述的随机测试程序生成方法,其特征在于,在步骤2中,所述运行指令冲突检测流程选择出步骤1所选指令的指令参数,包括:
识别所述指令参数中所需检测信息;
基于所述检测信息遍历资源使用列表,对所述资源使用列表中的不可用资源进行标记,得到标记后资源使用列表;
从所述标记后资源使用列表的可使用资源中选择出所述指令参数;
将所述指令参数添加到所述资源使用列表进行更新所述资源使用列表。
3.如权利要求2所述的随机测试程序生成方法,其特征在于,所述检测信息包括:寄存器信息、当前程序计数器的值、流水级信息和旁路信息。
4.如权利要求2所述的随机测试程序生成方法,其特征在于,在步骤3中,所述生成所述目标跳转指令的相关指令参数,包括:
生成所述目标跳转指令的偏移参数;
判断所述偏移参数是否为负数,若是则产生辅助运算指令参数、辅助跳转指令参数和所述目标跳转指令的目标参数。
5.如权利要求2所述的随机测试程序生成方法,其特征在于,在步骤3中,所述生成所述目标跳转指令的相关指令参数,包括:
计算所述目标跳转指令所在text段对应到的serve段的起始地址,其中,所述serve段为所述相关指令参数所在地址段;
确定出所述相关指令参数的目标地址相对于所述起始地址的偏移;
生成地址在所述serve段的辅助跳转指令参数。
6.如权利要求2所述的随机测试程序生成方法,其特征在于,在步骤3中,所述生成所述目标跳转指令的相关指令参数,具体为:
以等概率运行内嵌式进程与分段式进程中的一种来生成所述目标跳转指令的所述相关指令参数。
7.如权利要求1所述的随机测试程序生成方法,其特征在于,所述指令集执行参考模型具体为基于所编写的测试模版搭建,其中,所述测试模版包含每条指令以及指令序列的相关信息。
8.如权利要求7所述的随机测试程序生成方法,其特征在于,所述指令序列的相关信息包括:每个指令的名称、操作数个数、操作数范围,相邻操作数关系。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院微电子研究所,未经中国科学院微电子研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201511001282.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:程序接口测试方法及装置
- 下一篇:代码测试的方法及装置