面向BIT软件测试的处理器故障注入方法及其模拟器技术

技术编号:7935406 阅读:214 留言:0更新日期:2012-11-01 05:07
本发明专利技术提出一种面向BIT软件测试的处理器故障注入方法及其模拟器,将运行BIT软件的硬件电路板作为模拟器的模拟对象。本发明专利技术在模拟器中新增:模拟处理器、存储器等正常功能的正常功能模拟模块,解析故障序列文件的故障模型解析模块,匹配代注入故障的故障注入模块,故障行为模拟模块和外围交联环境仿真模块。本发明专利技术方法通过建立故障模式库,编写并解析XML故障序列文件为模拟器可识别的故障序列,在模拟器模拟遇到故障观察点时查找相应故障并注入,当触发故障时进行故障模拟。本发明专利技术注入的故障模式种类较全,充分覆盖了处理器的每种故障发生下的测试用例,可对电路板级BIT软件进行较为充分的测试,而只有进行了充分测试的BIT软件。

【技术实现步骤摘要】

本专利技术涉及可靠性工程方面的故障注入技术和计算机工程方面的处理器技术,特别是涉及一种面向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软件的有效方法和测试设备。在动态测试方面,受专业知识、环境技术条件等方面的限制,存在两方面的问题(I)在测试用例的设计中缺少对于电子设备系统的全面分析,对异常用例的设计不够全面;(2)考虑到BIT软件检测故障模式而设计的异常用例,但由于BIT软件自身功能特点,使得部分异常用例的施加需要在实际硬件中注入故障才能实现。但硬件故障注入方法无法适用于高密集度的电子设备中。这样,很多用例即使设计了也无法执行。这些原因都导致BIT软件测试不充分,使得很多问题 在实际使用过程中才被发现,造成严重的后果。
技术实现思路
本专利技术所要解决的技术问题是如何提供一种有效的用于BIT软件测试的故障注入技木。具体,本专利技术提供了一种面向BIT软件测试的处理器故障注入方法及其模拟器。一种面向BIT软件测试的处理器故障注入模拟器,将运行BIT软件的硬件电路板作为模拟对象,在模拟器中设置如下模块正常功能模拟模块、故障行为模拟模块、故障注入模块、故障模型解析模块和外围交联环境仿真模块。正常功能模拟模块用于对处理器、存储器和外围设备的元器件的正常行为进行功能级模拟;对处理器的模拟实现方法为对处理器指令集进行模拟执行,将源指令代码以基本块为粒度进行组织,按需动态地读取ニ进制源指令代码基本块,并进行翻译,将翻译好的目标代码存放在代码缓存中,然后执行目标代码。故障模型解析模块用于对当前测试的采用XML语言描述的故障序列文件进行解祈,得到采用C语言表示的模拟器识别的故障序列,所解析得到的故障序列,采用链地址法的哈希表数据结构存储,以故障模式作为哈希关键字,同一故障模式的待注入故障构成单向链表结构。故障注入模块接收故障模型解析模块解析得到的故障序列,在模拟器运行遇到某个故障观察点时被调用,故障注入模块在当前测试的故障序列中,查找具备触发条件的,且与当前故障观察点对应的故障模式相匹配的故障,如果查找到相应的故障,则注入相应的故障。故障行为模拟模块根据故障发生的行为表现,构造相应的故障模拟函数,进行各种故障模式的故障行为模拟。对于寄存器或ALU操作数出错类故障,故障模拟函数的实现方法是产生相应的故障掩码与寄存器正常值作与/或/异或操作,之后写回发生故障的寄存器,造成数据错误;对于运算错误及预处理错误故障,故障模拟函数的实现方法是依照相应故障行为,造成逻辑运算过程或结果出错。外围交联环境仿真模块用于模拟外围环境激励与模拟器的响应,以及模拟模拟器对外的输入和输出。本专利技术提出的一种面向BIT软件测试的处理器故障注入方法,将运行BIT软件的硬件电路板作为模拟对象,然后进行如下步骤步骤I :对处理器类故障模式进行分析,形成处理器故障模式库;步骤2 :从处理器故障模式库中选取符合测试目标的故障模式,并定义相应故障模式下的故障,并对各故障建立故障模型,将所建立的故障模型写入故障模型序列文件中;所述的故障模型序列文件为用XML语言描述的文件;所述的对各故障建立故障模型,是提取故障的6个特征来建立故障模型,6个特征为元器件,故障位置,故障模式,故障参数,故障触发方式和故障时间;步骤3 :模拟器读入故障模型序列文件,经过故障模型解析模块解析为模拟器识别的故障序列,然后将故障序列输入到故障注入模块中;所述的模拟器识别的故障序列,是用C语言表示的,采用链地址法的哈希表数据结构存储,以故障模式作为哈希关键字,同一故障模式的待注入故障构成单向链表结构; 步骤4 :模拟器对处理器进行模拟,当遇到故障观察点时,执行步骤5 ;所述的模拟器对处理器进行模拟,就是模拟器对处理器指令集进行模拟执行,将源指令代码以基本块为粒度进行组织,模拟器动态地、按需要地读入二进制源指本文档来自技高网
...

【技术保护点】
一种面向BIT软件测试的具有处理器故障注入的模拟器,将运行BIT软件的硬件电路板作为模拟对象,其特征在于,在模拟器中设置如下模块:正常功能模拟模块、故障行为模拟模块、故障注入模块、故障模型解析模块和外围交联环境仿真模块;正常功能模拟模块用于对处理器、存储器和外围设备的元器件的正常行为进行功能级模拟;对处理器的模拟实现方法为:对处理器指令集进行模拟执行,将源指令代码以基本块为粒度进行组织,按需动态地读取二进制源指令代码基本块,并进行翻译,将翻译好的目标代码存放在代码缓存中,然后执行目标代码;故障模型解析模块用于对当前测试的采用XML语言描述的故障序列文件进行解析,得到采用C语言表示的模拟器识别的故障序列,所解析得到的故障序列,采用链地址法的哈希表数据结构存储,以故障模式作为哈希关键字,同一故障模式的待注入故障构成单向链表结构;故障注入模块接收故障模型解析模块解析得到的故障序列,在模拟器运行遇到某个故障观察点时被调用,故障注入模块在当前测试的故障序列中,查找具备触发条件的,且与当前故障观察点对应的故障模式相匹配的故障,如果查找到相应的故障,则注入相应的故障;故障行为模拟模块根据故障发生的行为表现,构造相应的故障模拟函数,进行各种故障模式的故障行为模拟;对于寄存器或ALU操作数出错类故障,故障模拟函数的实现方法是:产生相应的故障掩码与寄存器正常值作与/或/异或操作,之后写回发生故障的寄存器,造成数据错误;对于运算错误及预处理错误故障,故障模拟函数的实现方法是:依照相应故障行为,造成逻辑运算过程或结果出错;外围交联环境仿真模块用于模拟外围环境激励与模拟器的响应,以及模拟模拟器对外的输入和输出。...

【技术特征摘要】

【专利技术属性】
技术研发人员:徐萍李毅高小鹏王自力徐军张茂帝
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

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

1