CN102760098A - 面向bit软件测试的处理器故障注入方法及其模拟器 - Google Patents
面向bit软件测试的处理器故障注入方法及其模拟器 Download PDFInfo
- Publication number
- CN102760098A CN102760098A CN201210194387XA CN201210194387A CN102760098A CN 102760098 A CN102760098 A CN 102760098A CN 201210194387X A CN201210194387X A CN 201210194387XA CN 201210194387 A CN201210194387 A CN 201210194387A CN 102760098 A CN102760098 A CN 102760098A
- Authority
- CN
- China
- Prior art keywords
- fault
- simulator
- module
- processor
- simulation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明提出一种面向BIT软件测试的处理器故障注入方法及其模拟器,将运行BIT软件的硬件电路板作为模拟器的模拟对象。本发明在模拟器中新增:模拟处理器、存储器等正常功能的正常功能模拟模块,解析故障序列文件的故障模型解析模块,匹配代注入故障的故障注入模块,故障行为模拟模块和外围交联环境仿真模块。本发明方法通过建立故障模式库,编写并解析XML故障序列文件为模拟器可识别的故障序列,在模拟器模拟遇到故障观察点时查找相应故障并注入,当触发故障时进行故障模拟。本发明注入的故障模式种类较全,充分覆盖了处理器的每种故障发生下的测试用例,可对电路板级BIT软件进行较为充分的测试,而只有进行了充分测试的BIT软件。
Description
技术领域
本发明涉及可靠性工程方面的故障注入技术和计算机工程方面的处理器技术,特别是涉及一种面向BIT软件测试的处理器故障注入方法及其模拟器。
背景技术
一个系统、设备或产品可靠性再高也不能保证永远正常工作,使用者和维修者要掌握其健康状况,要确知有无故障或何处发生了故障,这就要对其进行监控和测试。于是希望系统和设备本身能为此提供方便,这种系统和设备本身所具有的便于监控其健康状况、易于进行故障诊断测试的特性,就是系统和设备的测试性。测试性是指产品能及时准确地确定其状态(可工作、不可工作或性能下降)并隔离其内部故障的一种设计特性。随着系统和设备性能的提高和复杂性的增加,测试性越来越受到人们的重视,许多新技术、新方法都应用到了测试性之中。机内测试(Built-In Test,简称BIT)是系统或设备内部提供的检测和隔离故障的自动测试能力。当前,机载电子设备增多,机内控制高度集中,使得BIT达到空前的重要程度。测试性研究的热点,就在于研究BIT以及BIT进一步发展的衍生物,如故障预测与健康管理。
由于BIT的目的是为了在系统出现故障时进行检测、隔离,那么在进行BIT设计时,如何验证BIT的功能是否达到了预期设计的目标就成为一个问题,与此同时,设备在正常运行过程中,并不会频繁发生故障,很难对设备的BIT功能进行全面有效的评估。由于BIT也会发生故障,存在BIT设计不当、BIT虚警等问题,同时BIT软件实现部分基本承载了BIT全部逻辑功能,BIT软件实现部分(简称BIT软件)和普通软件相比,具有检测和处理电子设备系统硬件故障的功能特点,实时性强,可靠性要求高。BIT软件是否可靠决定了航空电子设备能否正确检测和处理故障,进而关系到整个系统的可靠性和安全性。所以迫切需要一种对BIT软件进行测试的有效方法和实施途径。
故障注入技术是BIT软件测试中一种有效的手段,通过人为对系统注入故障并运行BIT软件,观察其检测、隔离故障的能力,从而检验BIT软件的设计是否合理、测试能力是否符合设计要求等。
然而传统故障注入技术面临诸多问题:基于硬件的故障注入技术虽然注入真实的硬件故障,但受限于电路板上元器件的高密集性,已没有足够空间附加探针、插座等硬件故障注入设备,而且比较关注的元器件内部故障也是无法注入的;基于软件的故障注入技术在其他应用中有种种好处,但BIT软件的代码不开放(或不允许修改)、运行结构复杂、且可达性差,故而软件故障注入在BIT软件测试中是无处着手的;最后,采用VHDL、Verilog等硬件描述语言实现的基于模拟/仿真的故障注入技术虽可精确仿真BIT软件运行的硬件环境,但无法支撑BIT软件在其上运行,作为软件测试工具则无从谈起。
开展BIT软件测试,不仅需要相应的试验方法、技术和规范,还需要相应的故障注入工具来支持试验执行。但目前,由于在BIT设计指标的考核过程中缺少有效的故障注入工具,BIT软件测试试验无法得到充分地执行,影响BIT技术在工程中的应用。随着航空电子设备复杂度的不断提高,故障注入工具的缺乏已成为国内外开展BIT试验的瓶颈。
综上所述,常见的故障注入手段应用于BIT软件测试中,或具有一定局限性、或无法实施,因此尚无有效解决BIT软件测试难题的故障注入方法。
模拟器在计算机工程领域是计算机体系结构研究、处理器指令集研究等方面的重要工具,具有广泛的实用价值。全系统模拟器模拟了软件运行的硬件环境,可支持客户操作系统及应用软件在其上的运行。此外,除去运行速度上的差异,软件在模拟器上运行与在真实硬件上的运行情况是无差别的。
目前,国内外尚缺乏评测BIT软件的有效方法和测试设备。在动态测试方面,受专业知识、环境技术条件等方面的限制,存在两方面的问题:(1)在测试用例的设计中缺少对于电子设备系统的全面分析,对异常用例的设计不够全面;(2)考虑到BIT软件检测故障模式而设计的异常用例,但由于BIT软件自身功能特点,使得部分异常用例的施加需要在实际硬件中注入故障才能实现。但硬件故障注入方法无法适用于高密集度的电子设备中。这样,很多用例即使设计了也无法执行。这些原因都导致BIT软件测试不充分,使得很多问题在实际使用过程中才被发现,造成严重的后果。
发明内容
本发明所要解决的技术问题是如何提供一种有效的用于BIT软件测试的故障注入技术。具体,本发明提供了一种面向BIT软件测试的处理器故障注入方法及其模拟器。
一种面向BIT软件测试的处理器故障注入模拟器,将运行BIT软件的硬件电路板作为模拟对象,在模拟器中设置如下模块:正常功能模拟模块、故障行为模拟模块、故障注入模块、故障模型解析模块和外围交联环境仿真模块。
正常功能模拟模块用于对处理器、存储器和外围设备的元器件的正常行为进行功能级模拟;对处理器的模拟实现方法为:对处理器指令集进行模拟执行,将源指令代码以基本块为粒度进行组织,按需动态地读取二进制源指令代码基本块,并进行翻译,将翻译好的目标代码存放在代码缓存中,然后执行目标代码。
故障模型解析模块用于对当前测试的采用XML语言描述的故障序列文件进行解析,得到采用C语言表示的模拟器识别的故障序列,所解析得到的故障序列,采用链地址法的哈希表数据结构存储,以故障模式作为哈希关键字,同一故障模式的待注入故障构成单向链表结构。
故障注入模块接收故障模型解析模块解析得到的故障序列,在模拟器运行遇到某个故障观察点时被调用,故障注入模块在当前测试的故障序列中,查找具备触发条件的,且与当前故障观察点对应的故障模式相匹配的故障,如果查找到相应的故障,则注入相应的故障。
故障行为模拟模块根据故障发生的行为表现,构造相应的故障模拟函数,进行各种故障模式的故障行为模拟。对于寄存器或ALU操作数出错类故障,故障模拟函数的实现方法是:产生相应的故障掩码与寄存器正常值作与/或/异或操作,之后写回发生故障的寄存器,造成数据错误;对于运算错误及预处理错误故障,故障模拟函数的实现方法是:依照相应故障行为,造成逻辑运算过程或结果出错。
外围交联环境仿真模块用于模拟外围环境激励与模拟器的响应,以及模拟模拟器对外的输入和输出。
本发明提出的一种面向BIT软件测试的处理器故障注入方法,将运行BIT软件的硬件电路板作为模拟对象,然后进行如下步骤:
步骤1:对处理器类故障模式进行分析,形成处理器故障模式库;
步骤2:从处理器故障模式库中选取符合测试目标的故障模式,并定义相应故障模式下的故障,并对各故障建立故障模型,将所建立的故障模型写入故障模型序列文件中;所述的故障模型序列文件为用XML语言描述的文件;所述的对各故障建立故障模型,是提取故障的6个特征来建立故障模型,6个特征为:元器件,故障位置,故障模式,故障参数,故障触发方式和故障时间;
步骤3:模拟器读入故障模型序列文件,经过故障模型解析模块解析为模拟器识别的故障序列,然后将故障序列输入到故障注入模块中;所述的模拟器识别的故障序列,是用C语言表示的,采用链地址法的哈希表数据结构存储,以故障模式作为哈希关键字,同一故障模式的待注入故障构成单向链表结构;
步骤4:模拟器对处理器进行模拟,当遇到故障观察点时,执行步骤5;所述的模拟器对处理器进行模拟,就是模拟器对处理器指令集进行模拟执行,将源指令代码以基本块为粒度进行组织,模拟器动态地、按需要地读入二进制源指令代码基本块,并进行翻译,将翻译好的目标代码存放在模拟器开辟的代码缓存中,然后执行目标代码;
步骤5:故障注入模块查询输入的故障序列,判断是否有匹配当前故障观察点对应的故障模式的故障,若有执行下一步骤,若无,转步骤4执行;
步骤6:判断步骤5匹配得到的各故障的触发条件是否具备,若都不具备,转步骤4执行,若存在具备触发条件的,查找所有具备触发条件的故障,然后执行步骤7;
步骤7:故障注入模块注入故障,为满足故障触发条件的故障进行触发条件设置,并适时触发故障;
步骤8:模拟器在触发某个故障后,通过故障行为模拟模块调用相应的故障模拟函数实现故障的行为模拟;所述的故障模拟函数依照相应的故障行为,造成逻辑运算过程或结果出错,进行各种故障模式的故障行为模拟;
步骤9:监控模拟器运行及故障注入过程,回收执行结果。
本发明的优点与积极效果在于:
(1)本发明提供的故障注入方法及模拟器,解决了BIT软件测试问题,注入的故障模式种类较全,充分覆盖了处理器的每种故障发生下的测试用例,可对电路板级BIT软件进行较为充分的测试,而只有进行了充分测试的BIT软件,才能保障航空机载设备BIT预报故障的准确性、及时性,进而保障系统的可靠性、安全性。
(2)本发明提供的故障注入方法及模拟器,在背景技术所述的用于软、硬件测试的基于模拟的故障注入的应用技术中均有研究前景,而且结合模拟自身独有的优势,也可将本发明中的模拟器应用到原型系统的开发阶段,做可靠性预评估、系统测试性设计的早期评价试验。
(3)本发明提供的故障注入方法及模拟器,对BIT软件测试中,对硬件和其上运行的应用程序均无侵入性与损害。
附图说明
图1是本发明的模拟器所运行的层次结构示意图;
图2是本发明的模拟器整体功能模块示意图;
图3是XML描述的故障模型序列文件的一个示例;
图4是本发明方法中故障建模-解析的流程示意图;
图5是解析后的故障序列的一个示例图;
图6是本发明方法中故障模拟-注入的流程示意图;
图7是本发明故障注入的整体步骤流程图;
图8是本发明模拟器进行处理器指令集模拟的过程示意图;
图9是本发明模拟对象的PowerPC处理器寄存器体系结构图;
图10是本发明模拟器的一个系统架构图;
图11是本发明模拟器整体实现的一个示例图。
具体实施方式
下面将结合附图和实施例对本发明作进一步的详细说明。
BIT软件作为一种航空电子设备中的嵌入式软件,是不能直接运行在x86架构PC上,其运行的硬件电路板一般是PowerPC、ARM等RISC架构,而由于航空板的封闭性、不可侵入性等原因,又不能在硬件上直接注入故障。由于模拟器是依照真实硬件功能以软件方式实现的,因此对它可以进行任意修改,且对硬件和其上运行的应用程序均无侵入性与损害。因此,结合模拟器和故障注入技术应用于BIT软件测试是一种可行方案。本发明的基本技术思想是:将运行BIT软件的硬件电路板作为模拟对象,采用模拟器模拟的方法来解决BIT软件测试的瓶颈问题,发挥模拟器的优势,诸如对模拟对象的详细功能分析、通过模拟方法可注入的故障模式最多(使得测试用例全面,测试更充分)、对软硬件无任何侵入性。通过这些分析,认为基于模拟器的故障注入方法是可以解决BIT软件测试不充分问题的有效途径。下面对本发明的具体技术方案进行说明。
如图1所示,为本发明模拟器所运行的层次示意图。底层平台称为宿主机(Host),将运行在模拟器上的软件平台称为客户机(Guest)。模拟器作为宿主机操作系统上的一个应用程序,通过纯软件的方法将目标体系结构模拟出来,能够让原来运行在PowerPC上的目标软件(客户机操作系统或/与客户机应用程序)在宿主机操作系统上运行。模拟器要成功地模拟一个真实的机器,必须能够模拟真实机器所能做的一切事情,从而使客户机能够正常地运行,并意识不到自己是在模拟器环境中,即与在真实硬件上运行无差别。
如图2所示,本发明提供了面向BIT软件测试的具有处理器故障注入的模拟器,是对现有的模拟器进行了改进,增加了如下功能模块:
正常功能模拟模块1:对处理器、存储器、外围设备等元器件的正常行为进行功能级模拟;对于处理器正常行为的模拟包括:模拟指令正确执行,对处理器主要功能单元:寄存器、逻辑运算单元、中断控制器等进行功能级模拟。模拟指令正确执行,就是保证处理器从存储器中取出指令,并正确执行指令。对处理器的模拟具体实现方法是:对处理器指令集进行模拟执行,将源指令代码以基本块为粒度进行组织,按需动态地读取二进制源指令代码基本块,并进行翻译,将翻译好的目标代码存放在代码缓存中,然后执行目标代码。
故障行为模拟模块2:结合处理器故障模式,模拟故障发生时的行为表现;故障行为模拟模块根据故障发生的行为表现,构造相应的故障模拟函数,进行各种故障模式的故障行为模拟。对于寄存器或ALU操作数出错类故障,故障模拟函数的实现方法是:产生相应的故障掩码与寄存器正常值作与/或/异或操作,之后写回发生故障的寄存器,造成数据错误;对于运算错误及预处理错误故障,故障模拟函数的实现方法是:依照相应故障行为,造成逻辑运算过程或结果出错。
故障注入模块3:接收故障模型解析模块4解析得到的故障序列,在模拟器运行遇到某个故障观察点时被调用,故障注入模块3在当前测试的故障序列中,查找具备触发条件的,且与当前故障观察点对应的故障模式相匹配的故障,如果查找到相应的故障,则注入相应的故障。
故障模型解析模块4:对XML语言描述的故障序列文件进行解析,先进行语法分析,然后进行语义分析,最后得到模拟器识别的故障序列。模拟器识别的故障序列采用C语言表示,采用链地址法的哈希表数据结构存储,以故障模式作为哈希关键字,同一故障模式的待注入故障构成单向链表结构。
外围交联环境仿真模块5:由于模拟对象(即BIT软件运行环境)不是一块独立的电路板,而是整个航空电子设备中的一部分,故而需要对其与外围环境的交联加以模拟。模拟外围环境激励与模拟器的响应,还要模拟模拟器对外输入输出。
如图7所示,本发明的面向BIT软件测试的处理器故障注入方法的包括如下九个步骤。
步骤1:对处理器类故障模式进行分析,建立处理器故障模式库。
处理器类故障模式分析(Failure Mode Analysis),是指分析模拟对象的故障模式的影响和可能的故障模拟方法,选出可以在模拟器中实现注入的故障模式。在FMEA(Failure Mode andEffects Analysis,失效模式与影响分析)的基础上,根据开发板上处理器的具体情况,制定出故障模式库和相应的故障模拟方法。下面的表1~表7给出了七种故障模式,并给出了各故障模式的故障描述、故障位置、故障属性和故障发生场景。
表1第一种故障模式
表2第二种故障模式
表3第三种故障模式
表4第四种故障模式
表5第五种故障模式
表6第六种故障模式
表7第七种故障模式
步骤2:建立XML故障序列文件。从处理器故障模式库中选取符合测试目标的故障模式,并定义相应模式下的故障,并采用表8所示的故障特征来对各故障建立故障模型。将所建立的故障模型写入故障模型序列文件中,所述的故障模型序列文件为用XML语言描述的文件。
通过调研并分析搭载BIT软件的电路板上处理器常见故障,确定提取故障特征如下:
故障元器件:对于处理器故障来讲,元器件就是处理器;
故障位置:故障发生的位置,如算术逻辑单元、某一寄存器等;
故障模式:对故障模式的描述,如寄存器固定故障、ALU丢失操作数等;
故障参数:故障发生相关的参数,如发生故障的地址位、故障触发次数等;
故障触发方式:触发故障的方式,如按时间触发、按访问触发;
故障时间:识别故障为永久故障、瞬时故障还是间歇故障,并包括相关时间信息;
因此,处理器常见故障可以通过上述6个特征来刻画,将上述故障特征抽象为一个元组,就可建立故障模型的元组表示。M代表一个故障模型,则M可以表示为:
M={component,target,model,params,trigger,time}
表8对各故障所提取的故障特征
XML元素标记 | 对应名称 |
component | 故障元器件 |
target | 故障位置 |
model | 故障模式 |
params | 故障参数 |
trigger | 故障触发方式 |
time | 故障时间 |
XML描述的故障模型序列文件一方面可作为模拟器故障注入功能的故障配置输入;另一方面,在BIT软件测试试验中可作为试验用例,描述一次故障注入试验的输入样本。这样做达到了设计功能上的复用性。
如图3所示,为一个XML描述的故障模型序列文件的示例。故障模型序列文件以<test-job>作为XML根标签,其子标签包括测试名称<name>、开始时间<start-time>、测试描述<description>、全局定义<global-vars>、故障注入主体<injection>等标记元素。其中<injection>标签的下一级为本次注入试验所包含的故障模型序列,故障模型是以<fault>作为标签名称。图3中给出的例子中定义了两个故障,第1个故障是间歇故障,第2个故障为永久性故障,具体故障关键字及值如图3所示。
步骤3:模拟器读入故障模型序列文件,经过故障模型解析模块4解析为模拟器识别的故障序列,然后将故障序列输入到故障注入模块3中。
如图4所示,描述了XML故障建模-故障解析-模拟器可识别的故障序列生成的过程。具体本发明将XML表示的故障模型输入故障模型解析模块4,故障模型解析模块4实际是一个基于libxml2库开发的XML文件解析器,通过解析将XML表示的故障模型转化为采用C语言表示的数据结构组成的故障序列,各数据结构中记载了相应的故障模型。模拟器能够识别用C语言表示的故障序列。
解析得到的故障序列采用链地址法的哈希表数据结构存储,以故障模式作为哈希关键字,同一故障模式的待注入故障构成单向链表结构,如图5给出的示例,例如,故障2和3属于故障模式3,通过链表结构联系在一起。这样考虑了故障按故障模式的划分,一方面照顾了查询效率,另一方面没有浪费过多存储空间。
如图6所示,将用C语言表示的故障序列输入到故障注入模块3中。
步骤4:模拟器对处理器进行模拟,当运行过程中遇到故障观察点时,执行步骤5。
将设置好的测试用例输入模拟器执行,使得模拟器模拟处理器的运行,在未注入故障前,处于正常运行过程中。具体地,模拟器通过正常功能模拟模块1模拟处理器正常功能。
处理器的功能是从存储器中取出指令并执行。模拟处理器的正常功能就是保证指令正确执行,即模拟指令执行。同时对处理器主要功能单元:寄存器、逻辑运算单元、中断控制器等进行功能级模拟,核心还是围绕指令执行。
本发明中将模拟对象中会发生故障的地方,如对某个寄存器的初始化、读写访问,ALU运算过程等,在本发明的代码实现中定义为“故障观察点”,故障观察点一般设置在某个代码语句或某个函数调用的前后,并且设置故障观察点时,会对应标记出该处故障观察点会发生的故障模式。当模拟器运行到故障观察点时,此刻可能会有故障注入行为,而且发生的故障模式与故障观察点的位置特性有关,此时进一步调用故障注入模块3以判断是否需要注入故障。
步骤5:故障注入模块3查询故障序列,判断是否有匹配当前故障观察点对应的故障模式的故障,若有执行下一步骤,若无,转步骤4,返回模拟器正常运行。
该步骤也成为故障模式匹配,就是在故障序列中查找符合注入条件的故障的过程,也即为一次哈希表查找过程。假设故障模式数为M,有效待注入故障数为N。故障注入模块3第一次查找故障序列,就是在故障序列中按故障模式的哈希值直接取出当前故障观察点对应的故障模式下的故障链表,时间开销为O(1)。
步骤6:判断步骤5匹配得到的各故障的触发条件是否具备,若都不具备,转步骤4执行,若存在具备触发条件的,查找所有具备触发条件的故障,然后执行步骤7。
该步骤也成为触发条件匹配,故障注入模块3第二次查找故障序列,针对步骤5匹配得到的每个故障,在故障链表中根据该故障模型的故障参数,查找该故障的触发条件是否满足,若满足,则执行步骤7,若匹配的所有故障的触发条件都不满足,则转步骤4继续正常模拟。第二次查找哈希表的时间开销为O(N/M)。
步骤7:故障注入模块3为满足故障触发条件的故障进行触发条件设置,并适时触发故障。
故障注入模块3进行故障触发条件设置,触发方式主要有计时器触发与事件触发,结合电路板上处理器为模拟对象进行分析,模拟器运行过程中的故障注入基本的触发方式有以下几种:
1.时间触发:当模拟器计时器执行到指定时刻或者时间范围,故障注入模块3对当前总线周期进行故障注入。时间触发可以用来模拟间歇故障或者瞬时故障。由于无法准确估计出模拟器运行的精确时刻,时间触发条件往往设置为一个时间范围,同时与其他触发条件配合共同决定何时向目标系统注入故障。
2.访问触发:当对处理器某部件进行访问时,触发故障注入设备3进行故障注入动作执行。通过选定不同的访问触发条件可以实现对处理器中不同功能模块的故障模拟。
3.指令触发:当处理器执行特定指令时,触发故障注入模块3进行故障注入动作的执行。
在实际的故障注入过程中,以上几种触发方式可以相互组合,采用几种触发条件相与、相或的方式来控制实际的故障注入触发。
步骤8:模拟器在触发某个故障后,通过故障行为模拟模块2调用相应的故障模拟函数实现故障的行为模拟。
根据模拟对象处理器所存在的各种故障模式,在模拟器中预先定义好各种故障,根据故障发生的行为表现,进行各种故障模式的故障行为模拟,进而形成故障行为模拟模块2。
对于步骤1的故障模式库中寄存器或ALU操作数出错类故障,如:固0、固1、位翻转等,按照其故障表现,构造相应的故障模拟函数实现故障算法。故障算法的基本原理为产生相应的故障掩码与寄存器正常值作与/或/异或操作,之后写回发生故障的寄存器,造成数据错误。
如若32位PowerPC处理器中通用寄存器R01发生第4位翻转故障,故障模拟函数实现功能主体即为
cpuppc→r01^=0x00000010
上式中,32位故障掩码的第0-3位、5-31位均为0,而第4位取值为1,通过“异或”操作即使得寄存器R01的第4位值发生翻转,而其余位值不变。
如若32位PowerPC处理器中通用寄存器R02发生第8位固0故障,故障模拟函数实现功能主体即为
cpuppc→r02&=0xFFFFFEFF
上式中,32位故障掩码的第0-7位、9-31位均为1,而第4位取值为0,通过“与”操作即使得寄存器R02的第8位值固定为0,而其余位值不变。
如若32位PowerPC处理器中通用寄存器R03发生最高位固1故障,故障模拟函数实现功能主体即为
cpuppc→r03|=0x80000000
上式中,32位故障掩三的第0-30位均为0,而最高位取值为1,通过“或”操作即使得寄存器R03的最高位值发生固定为1,而其余位值不变。
以此类举,可实现所有与位值出错相关的故障。
算术逻辑单元(ALU)的其他故障,如运算错误、预处理错误等,相应的故障模拟函数均为依照相应故障行为,造成逻辑运算过程或结果出错。
步骤9:监控模拟器运行及故障注入过程,回收执行结果。
连接到模拟器监控器后可通过命令行形式监控模拟器的运行,包括查看CPU运行状态(info cpus)、寄存器集状态(info registers)、块设备状态(info blockdev)、物理地址空间分配(info mtree)、内存某地址值(xp/fmt[addr])等等。
本发明扩展了监控器命令集,加入与故障相关的命令,如查看故障序列(info faults)、即时触发故障并查看结果(fault register、fault alu、fault memory,...)等。
同时,模拟器监控器支持socket连接,可通过其他软件(在本发明的图11中为消息转化层软件)自动化实现信息监控和结果回收的过程,并反馈给上层界面,减少人为的参与。这样就可以做到对模拟器运行及故障注入过程的全面监控和结果显示。
模拟器对处理器的模拟,就是对处理器指令集的模拟,如图8所示,描述了模拟器采用的指令集模拟方法——二进制代码翻译过程。为了更好地提高性能,将代码缓冲区技术用到模拟技术中,二进制代码翻译技术(BT技术)将源指令代码以基本块为粒度进行组织,模拟器动态地、按需要地读入二进制源指令代码的基本块,并进行翻译,将翻译好的目标代码存放在模拟器开辟的内存空间中,这块空间被称为代码缓存(translation cache),然后模拟器执行代码缓冲中的目标代码。原始的客户机操作系统代码并不会直接被物理CPU执行,它们以基本块的形式组织,模拟器先将即将执行的基本块翻译成目标代码块,再转入目标代码块执行,然后翻译接下来要运行的原始基本块。
如图9所示,描述了本发明的模拟对象中PowerPC处理器寄存器集,阴影区域表示在64位模式下从32位拓展到64位寄存器部分。PowerPC体系结构总共有32个通用寄存器和32个浮点寄存器,浮点寄存器是64位宽而通用寄存器是32位宽或64位宽,但在32位模式下只使用它的低32位。应用程序主要使用的专用寄存器有链接寄存器和计数寄存器,每个都是32位或64位,由使用模式决定。另外还有32位的条件寄存器,被分成8个可独立寻址的域,每个域都用来作为某种指令运算的副作用记录。定点的异常寄存器包含被定点指令用到或设臵的某些域,而浮点状态和控制寄存器允许用来监控浮点指令执行的一些状态。机器状态寄存器MSR提供当前机器状态信息(比如当前是32位还是64位模式,是否在特权状态,是否进行地址转换等)。SRR0和SRR1分别是机器状态和恢复寄存器,用来在中断时保存和恢复机器状态。SPGR0-3则是软件使用的寄存器,专门设计供操作系统使用。
如图10所示,描述应用本发明故障注入的中全系统模拟器的系统架构,模拟对象包括处理器、存储器、外围设备及总线等。处理器模拟的实现是采用二进制代码翻译将(模拟对象处理器的)源指令集转化为目标代码块并通过系统调用方式在宿主机上执行,在这一部分的实现逻辑中添加了故障模拟和故障注入的功能以完成本发明的设计目标。存储器模拟的实现是利用宿主机的存储空间提供给客户机一个从零地址开始的连续物理内存空间(称之为客户机物理空间),同时模拟器的flash存储器实现装载客户机映像并读写的功能。外围设备模拟的实现则模拟了目标外设的转件接口,依靠宿主机提供的运行环境,实现外设的功能模拟;
如图11所示,为实现本发明的模拟器的一个软件实例结构图。从图11中可以看出,在整个BIT软件测试系统中,本发明实现部分处于黑色虚线所框部分中,主要包括模拟器软件部分的处理器模拟器和消息接口软件的故障模型解析模块部分。其中故障模型解析模块的实现是在模拟器软件部分实现,但按照其功能特性划归消息接口软件,以突出系统层次。进一步的,图11中提供了图形用户界面模块以方便操作、监控模拟器运行及故障注入过程。
图形用户界面包括:
电路板图形化模块:该模块以图形化的方式向用户展示模拟对象。
故障建模模块:该模块以图形化的方式向用户提供建模接口,用户在建模界面可以通过一些基本操作建立一套故障模型,并生成相应用XML语言描述的故障模型序列文件。
模拟器控制模块:该模块主要提供对模拟器故障注入试验过程的控制功能,如模拟器启动、暂停、终止等功能,以及对试验配置文件的控制功能,如下载试验配置文件到实时故障注入软件;所述的试验配置文件包括试验开始时间、试验名称、故障模型序列、从模拟器回收的试验结果数据等。
信息收集显示模块:该模块主要对模拟器中的故障模型序列及运行结束后的故障注入结果进行回收,并且提供存储和显示的功能。
本发明提供的故障注入方法及模拟器,解决了BIT软件测试中,异常用例的设计不够全面,由于硬件的封闭性等,不能在硬件上直接注入故障,使得部分异常用例不适用的问题,注入的故障模式种类较全,充分覆盖了每种故障发生下的测试用例,可对电路板级BIT软件进行较为充分的测试。
Claims (7)
1.一种面向BIT软件测试的具有处理器故障注入的模拟器,将运行BIT软件的硬件电路板作为模拟对象,其特征在于,在模拟器中设置如下模块:正常功能模拟模块、故障行为模拟模块、故障注入模块、故障模型解析模块和外围交联环境仿真模块;
正常功能模拟模块用于对处理器、存储器和外围设备的元器件的正常行为进行功能级模拟;对处理器的模拟实现方法为:对处理器指令集进行模拟执行,将源指令代码以基本块为粒度进行组织,按需动态地读取二进制源指令代码基本块,并进行翻译,将翻译好的目标代码存放在代码缓存中,然后执行目标代码;
故障模型解析模块用于对当前测试的采用XML语言描述的故障序列文件进行解析,得到采用C语言表示的模拟器识别的故障序列,所解析得到的故障序列,采用链地址法的哈希表数据结构存储,以故障模式作为哈希关键字,同一故障模式的待注入故障构成单向链表结构;
故障注入模块接收故障模型解析模块解析得到的故障序列,在模拟器运行遇到某个故障观察点时被调用,故障注入模块在当前测试的故障序列中,查找具备触发条件的,且与当前故障观察点对应的故障模式相匹配的故障,如果查找到相应的故障,则注入相应的故障;
故障行为模拟模块根据故障发生的行为表现,构造相应的故障模拟函数,进行各种故障模式的故障行为模拟;对于寄存器或ALU操作数出错类故障,故障模拟函数的实现方法是:产生相应的故障掩码与寄存器正常值作与/或/异或操作,之后写回发生故障的寄存器,造成数据错误;对于运算错误及预处理错误故障,故障模拟函数的实现方法是:依照相应故障行为,造成逻辑运算过程或结果出错;
外围交联环境仿真模块用于模拟外围环境激励与模拟器的响应,以及模拟模拟器对外的输入和输出。
2.根据权利要求1所述的模拟器,其特征在于,该模拟器还包括图形用户界面模块,图形用户界面模块包括如下子模块:
电路板图形化模块:以图形化的方式向用户展示模拟对象;
故障建模模块:以图形化的方式向用户提供建模接口,用户在该模块的界面建立故障模型,并生成相应的采用XML语言描述的故障模型序列文件;
模拟器控制模块:提供对模拟器故障注入试验过程的控制功能,包括模拟器启动、暂停和终止;还提供对试验配置文件的控制功能;
信息收集显示模块:对模拟器中的故障模型序列及运行结束后的故障注入结果进行回收,并且提供存储和显示的功能。
3.一种基于权利要求1所述的模拟器的面向BIT软件测试的处理器故障注入方法,其特征在于,将运行BIT软件的硬件电路板作为模拟对象,然后进行如下步骤:
步骤1:对处理器类故障模式进行分析,建立处理器故障模式库;
步骤2:从处理器故障模式库中选取符合测试目标的故障模式,并定义相应故障模式下的故障,并对各故障建立故障模型,将所建立的故障模型写入故障模型序列文件中;所述的故障模型序列文件为用XML语言描述的文件;所述的对各故障建立故障模型,是提取故障的6个特征来建立故障模型,6个特征为:元器件,故障位置,故障模式,故障参数,故障触发方式和故障时间;
步骤3:模拟器读入故障模型序列文件,经过故障模型解析模块解析为模拟器识别的故障序列,然后将故障序列输入到故障注入模块中;所述的模拟器识别的故障序列,是用C语言表示的,采用链地址法的哈希表数据结构存储,以故障模式作为哈希关键字,同一故障模式的待注入故障构成单向链表结构;
步骤4:模拟器对处理器进行模拟,当遇到故障观察点时,执行步骤5;所述的模拟器对处理器进行模拟,就是模拟器对处理器指令集进行模拟执行,将源指令代码以基本块为粒度进行组织,模拟器动态地、按需要地读入二进制源指令代码基本块,并进行翻译,将翻译好的目标代码存放在模拟器开辟的代码缓存中,然后执行目标代码;
步骤5:故障注入模块查询输入的故障序列,判断是否有匹配当前故障观察点对应的故障模式的故障,若有执行下一步骤,若无,转步骤4执行;
步骤6:判断步骤5匹配得到的各故障的触发条件是否具备,若都不具备,转步骤4执行,若存在具备触发条件的,查找所有具备触发条件的故障,然后执行步骤7;
步骤7:故障注入模块注入故障,为满足故障触发条件的故障进行触发条件设置,并适时触发故障;
步骤8:模拟器在触发某个故障后,通过故障行为模拟模块调用相应的故障模拟函数实现故障的行为模拟;对于寄存器或ALU操作数出错类故障,故障模拟函数的实现方法是:产生相应的故障掩码与寄存器正常值作与/或/异或操作,之后写回发生故障的寄存器,造成数据错误;对于运算错误及预处理错误故障,故障模拟函数的实现方法是:依照相应故障行为,造成逻辑运算过程或结果出错;
步骤9:监控模拟器运行及故障注入过程,回收执行结果。
4.根据权利要求3所述的处理器故障注入方法,其特征在于,所述的步骤5具体是,故障注入模块,根据故障模式的哈希值,查询哈希表,取出与该故障模式对应的故障链表。
5.根据权利要求3所述的处理器故障注入方法,其特征在于,所述的步骤6中判断故障的触发条件是否具备,是根据该故障模型的故障参数,查找该故障的触发条件是否满足。
6.根据权利要求3所述的处理器故障注入方法,其特征在于,所述的步骤7中故障注入模块注入故障,具体在模拟器运行过程中的故障注入的基本的触发方式有:
(1)时间触发:当模拟器计时器执行到指定时刻或者时间范围,故障注入模块对当前总线周期进行故障注入;时间触发用来模拟间歇故障或者瞬时故障;
(2)访问触发:当对处理器某部件进行访问时,触发故障注入设备进行故障注入动作执行;
(3)指令触发:当处理器执行特定指令时,触发故障注入模块进行故障注入动作的执行;
在故障注入过程中,以上几种触发方式单独使用,或者组合使用,采用几种触发条件相与、相或的方式来控制故障注入触发。
7.根据权利要求3所述的处理器故障注入方法,其特征在于,所述的步骤9,通过命令行形式监控模拟器的运行,监控内容包括:查看CPU运行状态、寄存器集状态、块设备状态、物理地址空间分配、内存某地址值、查看故障序列、以及即时触发故障并查看结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210194387.XA CN102760098B (zh) | 2012-06-13 | 2012-06-13 | 面向bit软件测试的处理器故障注入方法及其模拟器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210194387.XA CN102760098B (zh) | 2012-06-13 | 2012-06-13 | 面向bit软件测试的处理器故障注入方法及其模拟器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102760098A true CN102760098A (zh) | 2012-10-31 |
CN102760098B CN102760098B (zh) | 2014-12-31 |
Family
ID=47054562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210194387.XA Expired - Fee Related CN102760098B (zh) | 2012-06-13 | 2012-06-13 | 面向bit软件测试的处理器故障注入方法及其模拟器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102760098B (zh) |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019904A (zh) * | 2012-12-27 | 2013-04-03 | 中国航空工业集团公司第六三一研究所 | 机载余度计算机支持容错验证的无损故障注入方法 |
CN103235591A (zh) * | 2013-03-25 | 2013-08-07 | 中国航空工业集团公司沈阳飞机设计研究所 | 一种基于硬、软件故障注入相结合的在线故障注入方法 |
CN103699112A (zh) * | 2013-11-29 | 2014-04-02 | 中国航空无线电电子研究所 | 基于io信号故障仿真的航电自检测验证设备及其验证方法 |
CN103901342A (zh) * | 2014-03-18 | 2014-07-02 | 北京时代民芯科技有限公司 | 一种基于掩码文件的fpga精确故障注入系统及方法 |
CN103914379A (zh) * | 2014-03-25 | 2014-07-09 | 北京邮电大学 | 故障自动注入与故障检测的方法及其系统 |
CN103995762A (zh) * | 2014-06-06 | 2014-08-20 | 山东超越数控电子有限公司 | 一种诊断板卡故障的方法 |
CN105929270A (zh) * | 2016-04-20 | 2016-09-07 | 北京润科通用技术有限公司 | 一种故障注入方法及装置 |
CN106155892A (zh) * | 2015-04-03 | 2016-11-23 | 腾讯科技(深圳)有限公司 | 判断应用程序测试覆盖范围的方法及程序测试设备 |
CN106647405A (zh) * | 2016-12-27 | 2017-05-10 | 贵州西部丽城生态环境发展有限责任公司 | 一种易扩展的除臭飘香机控制方法 |
CN107632897A (zh) * | 2017-09-04 | 2018-01-26 | 西安交通大学 | 一种基于ssd故障概率模型的故障注入方法 |
CN107678975A (zh) * | 2017-11-17 | 2018-02-09 | 北京锐安科技有限公司 | 一种软件故障检测方法及装置 |
CN107729245A (zh) * | 2017-10-13 | 2018-02-23 | 郑州云海信息技术有限公司 | 一种基于usb盘的模拟系统故障的测试方法 |
CN108710551A (zh) * | 2018-04-28 | 2018-10-26 | 北京轩宇信息技术有限公司 | 基于sparc处理器单粒子翻转故障注入的测试方法及系统 |
CN108874663A (zh) * | 2018-05-24 | 2018-11-23 | 南京大学 | 黑盒故障注入方法和系统及介质设备 |
CN108984397A (zh) * | 2018-06-26 | 2018-12-11 | 南京大学 | 黑盒故障注入方法和系统及介质设备 |
CN109117371A (zh) * | 2018-08-08 | 2019-01-01 | 中国航空工业集团公司雷华电子技术研究所 | 一种提高周期bit验证能力的故障注入方法 |
CN109213680A (zh) * | 2018-08-28 | 2019-01-15 | 康烁 | 基于嵌入式软件仿真器的自动化测试方法 |
CN109271306A (zh) * | 2018-09-30 | 2019-01-25 | 深圳中广核工程设计有限公司 | 基于故障注入的寿命试验方法、装置、设备及介质 |
CN109426610A (zh) * | 2017-08-30 | 2019-03-05 | 中车株洲电力机车研究所有限公司 | 一种vxWorks系统下的故障诊断方法 |
CN109541444A (zh) * | 2018-10-18 | 2019-03-29 | 天津大学 | 基于混合粒度奇偶校验的集成电路故障注入检测方法 |
CN109828175A (zh) * | 2019-03-14 | 2019-05-31 | 四川海特亚美航空技术有限公司 | 一种电子顺序组件机内测试方法 |
CN109885466A (zh) * | 2019-01-25 | 2019-06-14 | 上海创景信息科技有限公司 | 处理器c8000的仿真方法、系统及介质 |
CN110704315A (zh) * | 2019-09-26 | 2020-01-17 | 天津津航计算技术研究所 | 一种嵌入式软件测试的故障注入装置 |
CN111141501A (zh) * | 2019-12-13 | 2020-05-12 | 中国航空综合技术研究所 | 一种机载设备测试性试验的试验用例生成系统及方法 |
CN111448553A (zh) * | 2017-12-08 | 2020-07-24 | 华为技术有限公司 | 故障注入系统和故障注入方法 |
CN111538654A (zh) * | 2020-04-09 | 2020-08-14 | 哈尔滨工业大学(威海) | 一种软件可靠性测试方法、系统、存储介质、计算机程序 |
CN112689837A (zh) * | 2018-06-19 | 2021-04-20 | 智能Ic卡公司 | 对密码装置的激光故障注入攻击的改进检测 |
CN113094148A (zh) * | 2020-01-08 | 2021-07-09 | 伊莱比特汽车有限责任公司 | 对针对设备的设备驱动程序的验证 |
CN116431518A (zh) * | 2023-04-26 | 2023-07-14 | 北京计算机技术及应用研究所 | 一种基于仿真平台的多层级、多模式软件故障注入方法 |
CN112714015B (zh) * | 2020-12-23 | 2023-08-22 | 上海科梁信息科技股份有限公司 | 通信数据故障注入方法及其系统、通信设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6223144B1 (en) * | 1998-03-24 | 2001-04-24 | Advanced Technology Materials, Inc. | Method and apparatus for evaluating software programs for semiconductor circuits |
JP2003132108A (ja) * | 2001-10-29 | 2003-05-09 | Matsushita Electric Ind Co Ltd | システム設計のシミュレーション方法及びその装置 |
CN102270166A (zh) * | 2011-02-22 | 2011-12-07 | 清华大学 | 基于模拟器的处理器故障注入及跟踪方法及模拟器 |
-
2012
- 2012-06-13 CN CN201210194387.XA patent/CN102760098B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6223144B1 (en) * | 1998-03-24 | 2001-04-24 | Advanced Technology Materials, Inc. | Method and apparatus for evaluating software programs for semiconductor circuits |
JP2003132108A (ja) * | 2001-10-29 | 2003-05-09 | Matsushita Electric Ind Co Ltd | システム設計のシミュレーション方法及びその装置 |
CN102270166A (zh) * | 2011-02-22 | 2011-12-07 | 清华大学 | 基于模拟器的处理器故障注入及跟踪方法及模拟器 |
Non-Patent Citations (2)
Title |
---|
张晓杰等: "《基于机内测试的故障注入系统设计》", 《北京航空航天大学学报》, vol. 32, no. 4, 30 April 2006 (2006-04-30) * |
王莲等: "《BIT验证中1553B总线故障注入设备的设计与实现》", 《计算机测量与控制》, vol. 19, no. 12, 25 December 2011 (2011-12-25), pages 2492 * |
Cited By (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019904B (zh) * | 2012-12-27 | 2015-09-30 | 中国航空工业集团公司第六三一研究所 | 机载余度计算机支持容错验证的无损故障注入方法 |
CN103019904A (zh) * | 2012-12-27 | 2013-04-03 | 中国航空工业集团公司第六三一研究所 | 机载余度计算机支持容错验证的无损故障注入方法 |
CN103235591A (zh) * | 2013-03-25 | 2013-08-07 | 中国航空工业集团公司沈阳飞机设计研究所 | 一种基于硬、软件故障注入相结合的在线故障注入方法 |
CN103235591B (zh) * | 2013-03-25 | 2015-10-28 | 中国航空工业集团公司沈阳飞机设计研究所 | 一种基于硬、软件故障注入相结合的在线故障注入方法 |
CN103699112B (zh) * | 2013-11-29 | 2016-01-20 | 中国航空无线电电子研究所 | 基于io信号故障仿真的航电自检测验证设备及其验证方法 |
CN103699112A (zh) * | 2013-11-29 | 2014-04-02 | 中国航空无线电电子研究所 | 基于io信号故障仿真的航电自检测验证设备及其验证方法 |
CN103901342A (zh) * | 2014-03-18 | 2014-07-02 | 北京时代民芯科技有限公司 | 一种基于掩码文件的fpga精确故障注入系统及方法 |
CN103901342B (zh) * | 2014-03-18 | 2017-09-29 | 北京时代民芯科技有限公司 | 一种基于掩码文件的fpga精确故障注入系统 |
CN103914379A (zh) * | 2014-03-25 | 2014-07-09 | 北京邮电大学 | 故障自动注入与故障检测的方法及其系统 |
CN103914379B (zh) * | 2014-03-25 | 2016-10-26 | 北京邮电大学 | 故障自动注入与故障检测的方法及其系统 |
CN103995762A (zh) * | 2014-06-06 | 2014-08-20 | 山东超越数控电子有限公司 | 一种诊断板卡故障的方法 |
CN106155892A (zh) * | 2015-04-03 | 2016-11-23 | 腾讯科技(深圳)有限公司 | 判断应用程序测试覆盖范围的方法及程序测试设备 |
CN105929270A (zh) * | 2016-04-20 | 2016-09-07 | 北京润科通用技术有限公司 | 一种故障注入方法及装置 |
CN106647405A (zh) * | 2016-12-27 | 2017-05-10 | 贵州西部丽城生态环境发展有限责任公司 | 一种易扩展的除臭飘香机控制方法 |
CN109426610A (zh) * | 2017-08-30 | 2019-03-05 | 中车株洲电力机车研究所有限公司 | 一种vxWorks系统下的故障诊断方法 |
CN107632897A (zh) * | 2017-09-04 | 2018-01-26 | 西安交通大学 | 一种基于ssd故障概率模型的故障注入方法 |
CN107632897B (zh) * | 2017-09-04 | 2019-07-23 | 西安交通大学 | 一种基于ssd故障概率模型的故障注入方法 |
CN107729245A (zh) * | 2017-10-13 | 2018-02-23 | 郑州云海信息技术有限公司 | 一种基于usb盘的模拟系统故障的测试方法 |
CN107729245B (zh) * | 2017-10-13 | 2021-04-06 | 郑州云海信息技术有限公司 | 一种基于usb盘的模拟系统故障的测试方法 |
CN107678975A (zh) * | 2017-11-17 | 2018-02-09 | 北京锐安科技有限公司 | 一种软件故障检测方法及装置 |
CN111448553A (zh) * | 2017-12-08 | 2020-07-24 | 华为技术有限公司 | 故障注入系统和故障注入方法 |
CN111448553B (zh) * | 2017-12-08 | 2021-11-09 | 华为技术有限公司 | 故障注入系统和故障注入方法 |
US11307947B2 (en) | 2017-12-08 | 2022-04-19 | Huawei Technologies Co., Ltd. | Fault injection system and method of fault injection |
CN108710551A (zh) * | 2018-04-28 | 2018-10-26 | 北京轩宇信息技术有限公司 | 基于sparc处理器单粒子翻转故障注入的测试方法及系统 |
CN108710551B (zh) * | 2018-04-28 | 2021-12-07 | 北京轩宇信息技术有限公司 | 基于sparc处理器单粒子翻转故障注入的测试方法及系统 |
CN108874663A (zh) * | 2018-05-24 | 2018-11-23 | 南京大学 | 黑盒故障注入方法和系统及介质设备 |
CN112689837A (zh) * | 2018-06-19 | 2021-04-20 | 智能Ic卡公司 | 对密码装置的激光故障注入攻击的改进检测 |
CN108984397A (zh) * | 2018-06-26 | 2018-12-11 | 南京大学 | 黑盒故障注入方法和系统及介质设备 |
CN108984397B (zh) * | 2018-06-26 | 2021-02-23 | 南京大学 | 黑盒故障注入方法和系统及介质设备 |
CN109117371A (zh) * | 2018-08-08 | 2019-01-01 | 中国航空工业集团公司雷华电子技术研究所 | 一种提高周期bit验证能力的故障注入方法 |
CN109213680B (zh) * | 2018-08-28 | 2022-01-25 | 康烁 | 基于嵌入式软件仿真器的自动化测试方法 |
CN109213680A (zh) * | 2018-08-28 | 2019-01-15 | 康烁 | 基于嵌入式软件仿真器的自动化测试方法 |
CN109271306A (zh) * | 2018-09-30 | 2019-01-25 | 深圳中广核工程设计有限公司 | 基于故障注入的寿命试验方法、装置、设备及介质 |
CN109541444A (zh) * | 2018-10-18 | 2019-03-29 | 天津大学 | 基于混合粒度奇偶校验的集成电路故障注入检测方法 |
CN109541444B (zh) * | 2018-10-18 | 2021-11-02 | 天津大学 | 基于混合粒度奇偶校验的集成电路故障注入检测方法 |
CN109885466A (zh) * | 2019-01-25 | 2019-06-14 | 上海创景信息科技有限公司 | 处理器c8000的仿真方法、系统及介质 |
CN109885466B (zh) * | 2019-01-25 | 2022-07-05 | 上海创景信息科技有限公司 | 处理器c8000的仿真方法、系统及介质 |
CN109828175B (zh) * | 2019-03-14 | 2021-06-01 | 四川海特亚美航空技术有限公司 | 一种电子顺序组件机内测试方法 |
CN109828175A (zh) * | 2019-03-14 | 2019-05-31 | 四川海特亚美航空技术有限公司 | 一种电子顺序组件机内测试方法 |
CN110704315A (zh) * | 2019-09-26 | 2020-01-17 | 天津津航计算技术研究所 | 一种嵌入式软件测试的故障注入装置 |
CN110704315B (zh) * | 2019-09-26 | 2022-10-25 | 天津津航计算技术研究所 | 一种嵌入式软件测试的故障注入装置 |
CN111141501A (zh) * | 2019-12-13 | 2020-05-12 | 中国航空综合技术研究所 | 一种机载设备测试性试验的试验用例生成系统及方法 |
CN111141501B (zh) * | 2019-12-13 | 2021-06-29 | 中国航空综合技术研究所 | 一种机载设备测试性试验的试验用例生成系统及方法 |
CN113094148A (zh) * | 2020-01-08 | 2021-07-09 | 伊莱比特汽车有限责任公司 | 对针对设备的设备驱动程序的验证 |
CN111538654A (zh) * | 2020-04-09 | 2020-08-14 | 哈尔滨工业大学(威海) | 一种软件可靠性测试方法、系统、存储介质、计算机程序 |
CN111538654B (zh) * | 2020-04-09 | 2024-02-13 | 哈尔滨工业大学(威海) | 一种软件可靠性测试方法、系统、存储介质 |
CN112714015B (zh) * | 2020-12-23 | 2023-08-22 | 上海科梁信息科技股份有限公司 | 通信数据故障注入方法及其系统、通信设备和存储介质 |
CN116431518A (zh) * | 2023-04-26 | 2023-07-14 | 北京计算机技术及应用研究所 | 一种基于仿真平台的多层级、多模式软件故障注入方法 |
CN116431518B (zh) * | 2023-04-26 | 2023-09-26 | 北京计算机技术及应用研究所 | 一种基于仿真平台的多层级、多模式软件故障注入方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102760098B (zh) | 2014-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102760098B (zh) | 面向bit软件测试的处理器故障注入方法及其模拟器 | |
CN102789416B (zh) | 面向bit软件测试的存储器故障注入方法及其模拟器 | |
Huang et al. | Instruction-level abstraction (ila) a uniform specification for system-on-chip (soc) verification | |
Majumdar et al. | Hybrid concolic testing | |
CN103389939B (zh) | 一种针对堆可控分配漏洞的检测方法及系统 | |
CN104169889A (zh) | 在事务执行模式中的运行时间检测采样 | |
Zeng et al. | Pemu: A pin highly compatible out-of-vm dynamic binary instrumentation framework | |
CN102651062A (zh) | 基于虚拟机架构的恶意行为跟踪系统和方法 | |
Kersey et al. | A universal parallel front-end for execution driven microarchitecture simulation | |
CN101458630B (zh) | 一种基于硬件模拟器的自修改代码识别方法 | |
Casias et al. | Debugging support for pattern-matching languages and accelerators | |
Lai et al. | Fast profiling framework and race detection for heterogeneous system | |
CN105760638A (zh) | 一种加快soc芯片仿真的方法 | |
Kantrowitz et al. | Functional Verification of a Multiple-issue, Pipelined, Superscalar Alpha Processor - the Alpha 21164 CPU Chip | |
CN102708054A (zh) | 二进制程序循环写内存安全漏洞的检测方法 | |
CN106528414A (zh) | 处理器芯片仿真器 | |
Cassez et al. | Wuppaal: Computation of worst-case execution-time for binary programs with uppaal | |
Cui et al. | WhirlingFuzzwork: a taint-analysis-based API in-memory fuzzing framework | |
CN103955424B (zh) | 一种虚拟化嵌入式二进制软件缺陷检测系统 | |
CN102508697A (zh) | 一种Java实现8位嵌入式CPU仿真运行环境的方法 | |
Maier et al. | Efficient fault injection for embedded systems: as fast as possible but as accurate as necessary | |
Janjusic et al. | Hardware and application profiling tools | |
Teodorescu et al. | Prototyping architectural support for program rollback using FPGAs | |
Myers | A binary instrumentation tool suite for capturing and compressing traces for multithreaded software | |
Lagraa | New MP-SoC profiling tools based on data mining techniques |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141231 Termination date: 20160613 |