突变测试中对突变、测试用例、随机种子的组合排序的方法和设备技术

技术编号:12882985 阅读:147 留言:0更新日期:2016-02-17 15:27
本发明专利技术公开了一种突变测试中对突变、测试用例、随机种子的组合排序的方法和设备,该方法包括:根据测试用例目标的信号,对编译后的待测试集成电路获得与该测试用例目标的信号相关的逻辑门及相关的逻辑门上的突变;计算所述突变与所述测试用例目标的信号之间的距离;对编译后的待测试集成电路进行电路仿真,获得突变、测试用例、随机种子的组合对应的激活周期数;获得突变、测试用例的组合对应的激活周期数方差;以及根据所述距离,所述激活周期数,以及所述激活周期数方差,对突变、测试用例、随机种子的组合排序。该方法和设备能够减少突变仿真选择等价突变的概率。

【技术实现步骤摘要】

本专利技术涉及集成电路测试平台质量的评估,更具体地,涉及一种突变测试中对突 变、测试用例、随机种子的组合排序的方法和设备。
技术介绍
功能验证(FunctionalVerification)是保证集成电路功能正确性的方法,在集成 电路设计流程中占据至关重要的地位。高质量的功能验证平台是保证整个流程可信与可 靠,进而确保集成电路功能正确性的前提。突变测试(MutationTesting)可以对功能验证 平台的质量进行评估,使得验证工程师可以定量地给出评估标准。 当前的突变测试的基本步骤分为三个部分:1)为编译后的待测试集成电路的多 个逻辑门产生突变后,随机选择至少一个突变(Mutant)。这里待测试集成电路可以使用硬 件描述语言(HDLDesign)描述,可以使用诸如从^641〇8、从^!101^?〇竹&18等等之类的工具 进行编译。这里突变是指改变待测试集成电路(DesignUnderTest)中某一逻辑门的功能, 例如,将"与"逻辑门的功能更改为"或/异或/同或"逻辑门,总之,只要功能和"与"不一 样,即称之为一个突变。为编译后的待测试集成电路的多个逻辑门产生突变是现有技术,可 以使用现有的改变逻辑门功能、改变逻辑门输入输出个数等方法实现。 2)对待测试集成电路进行突变测试仿真。突变测试仿真和普通的电路仿真是很 类似的,唯一的区别就是在仿真过程中使能了突变。在每次突变测试仿真过程中,只能使能 一个突变和一个测试用例。这里的测试用例是指根据测试目标,给待测试集成电路加上一 系列的输入,并通过检查器观察待测试集成电路的输出是否符合预期状态,每一组输入信 号加上相应的检查策略,称之为一个测试用例。例如,如果要测试一个有两个输入信号的 "与"逻辑门的功能,需要给"与"逻辑门的两个输入信号加上不同的值,〈1,1> ;〈1,〇> ;〈〇, 1> ;〈0,0>,每一组输入值有期望的输出检查,比如当输入为〈1,1>时,期望输出是1,当输入 为〈1,〇>时,期望输出是0,以此类推。在这里,每一组输入值,就是一个针对"与"逻辑门的 测试用例。 3)综合一系列逻辑功能变化及其观测结果,给出功能验证平台质量的定量评估标 准。也就是循环执行步骤1和2,得到一系列逻辑门的突变测试结果。根据获得的结果,观察 功能验证平台是否能够正常检查到待测试集成电路的逻辑功能变化。例如,在上述"与"门 例子中,如果输入信号是〈〇,1>,那么本来"与"门的输出结果应该是0,功能验证平台也应 该期望输出结果是0。如果将"与"门的功能改变为了"或",那么这个时候输出就变成了 1, 这时要观察功能验证平台是否能够正常报错,因为功能验证平台还以为逻辑功能是"与"。 如果功能验证平台没有报错,那么说明功能验证平台没有正常检查到逻辑功能的变化,那 么这个检查器就有问题。 在进行突变测试时,如果要精确观察功能验证平台是否可检测到所有逻辑功能 的变化,最好遍历全部的突变和测试用例。假设存在1百万个突变,使用50个测试用例, 4个随机种子,每次仿真1小时,则要进行2亿小时的突变测试仿真。随机选择突变时,若 在某次仿真中,由于使用的当前测试用例产生的测试激励(Stimulus)无法将该突变激活 (Activation),则该次仿真的结果与无突变的仿真结果一致,该次仿真成为一次无效的仿 真,该突变被称之为等价突变(EqualMutant)。等价突变原因是当前测试用例没有给突变 加上可以导致其功能发生变化的输入信号。还是以上述"与"逻辑门为例,如果将"与"突 变为"或",而测试用例仅仅有两个,一个是给输入信号〈1,1>,另一个是给输入信号〈〇, 〇>, 那么这两种输入信号的对于"与"和"或"来说,输出都是一样的,功能没有发生变化,因此 该突变没有被激活。 为了提高功能验证平台质量评估的效率,需要减少等价突变。
技术实现思路
等价突变与突变本身、测试用例甚至仿真时使用随机种子都有关系。在现有技术 中,由于测试中对多个逻辑门生成的突变是随机选择的,可能选择的突变为等价突变的概 率比较大,造成无效仿真。本专利技术提出的方法和系统能够对突变、测试用例、随机种子的组 合进行排序,从而可以减少选择等价突变的概率,从而在有效的测试时间内,减少无效仿 真,提高功能验证平台质量评估的效率。 根据本专利技术的一个方面,提供了一种突变测试中对突变、测试用例、随机种子的组 合排序的方法,包括: 根据测试用例目标的信号,对编译后的待测试集成电路获得与该测试用例目标的 信号相关的逻辑门及相关的逻辑门上的突变; 计算所述突变与所述测试用例目标的信号之间的距离; 对编译后的待测试集成电路进行电路仿真,获得突变、测试用例、随机种子的组合 对应的激活周期数;获得突变、测试用例的组合对应的激活周期数方差;以及 根据所述距离,所述激活周期数,以及所述激活周期数方差,对突变、测试用例、随 机种子的组合排序。 根据本专利技术的另一个方面,提供了一种突变测试中对突变、测试用例、随机种子的 组合排序的设备,包括: 相关逻辑门及其上的突变获得装置,被配置为根据测试用例目标的信号,对编译 后的待测试集成电路获得与该测试用例目标的信号相关的逻辑门及相关的逻辑门上的突 变; 距离计算装置,被配置为计算所述突变与所述测试用例目标的信号之间的距离; 激活周期数获得装置,被配置为对编译后的待测试集成电路进行电路仿真,获得 突变、测试用例、随机种子的组合对应的激活周期数; 激活周期数方差获得装置,被配置为获得突变、测试用例的组合对应的激活周期 数方差;以及所述激活周期数,以及所述激活周期数方差,对突变、测试用例、随机种子的组 合排序。【附图说明】 通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其 它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号 通常代表相同部件。 图1示出了适于用来实现本专利技术实施方式的示例性计算机系统/服务器12的框 图; 图2示出了根据本专利技术一种实施方式的一种突变测试中对突变排序的方法的流 程; 图3是根据三种不同测试用例目标的信号所确定的不同第一区域的示意图; 图4示出了步骤S201的获得相关的逻辑门的具体实现步骤; 图5示意性示出了对一个部分集成电路生成的控制数据流图的示意图; 图6示出了图5所示出的控制数据流图在给定测试用例目标的信号为输出信号X 的情况下,与输出信号X相关的所有逻辑门;以及 图7示出了一种突变测试中对突变、测试用例、随机种子的组合排序的设备的结 构框图。【具体实施方式】 下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开 的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方 式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的 范围完整地传达给本领域的技术人员。 图1示出了适于用来实现本专利技术实施方式的示例性计算机系统/服务器12的框 图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本专利技术实施例的功能和使 用范围带来任何限制。 如图1所示,计算机系统/服务器12以通用计算设备的形式本文档来自技高网
...

【技术保护点】
一种突变测试中对突变、测试用例、随机种子的组合排序的方法,包括:根据测试用例目标的信号,对编译后的待测试集成电路获得与该测试用例目标的信号相关的逻辑门及相关的逻辑门上的突变;计算所述突变与所述测试用例目标的信号之间的距离;对编译后的待测试集成电路进行电路仿真,获得突变、测试用例、随机种子的组合对应的激活周期数;获得突变、测试用例的组合对应的激活周期数方差;以及根据所述距离,所述激活周期数,以及所述激活周期数方差,对突变、测试用例、随机种子的组合排序。

【技术特征摘要】

【专利技术属性】
技术研发人员:苟鹏飞刘丹刘洋李阳B·霍佩
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1