基于JTAG调试方式实现通用型故障注入系统和故障注入方法技术方案

技术编号:11513074 阅读:104 留言:0更新日期:2015-05-27 20:05
本发明专利技术提供了一种基于JTAG调试方式实现通用型故障注入系统和故障注入方法,该系统包括:代码分析模块:加载被测二进制代码程序和相关的符号信息;故障执行模块,接收运行控制和分析模块的指令并根据指令要求对被测系统进行操作;故障定义模块,用于定义故障内容,需要定义故障各个阶段需要对被测系统进行的操作;运行控制和分析模块,用于控制故障注入的过程和对故障结果进行分析;报告生成模块,用于将上述各个模块及故障注入的实际执行情况生成报告。本发明专利技术通过被测系统的JTAG接口连接被测系统,在不改变目标系统目标代码,不损坏被测系统硬件的前提下,通过改变被测系统内存、寄存器值来模拟硬件故障的产生,从而达到故障注入的目的。

【技术实现步骤摘要】
基于JTAG调试方式实现通用型故障注入系统和故障注入方法
本专利技术涉及一种故障注入系统和故障注入方法,具体地,涉及一种基于JTAG调试方式实现通用型故障注入系统和故障注入方法。
技术介绍
现有故障注入方案有三种:硬件故障注入、仿真故障注入和软件故障注入。其中硬件故障注入用于完成物理级的故障注入,仿真故障注入通过改变逻辑和时间开销达到故障注入的效果,而软件故障注入是通过生成软件级的错误,从而造成硬件级的故障。现有的软件故障注入方式,是通过外部设备产生故障信号,将该故障信号注入给被测设备,或者在被测系统的源代码中植入故障代码从而实现软件故障注入。
技术实现思路
针对现有技术中的缺陷,本专利技术的目的是提供一种基于JTAG调试方式实现通用型故障注入系统和故障注入方法,其通过被测系统的JTAG接口连接被测系统,在不改变目标系统目标代码,不损坏被测系统硬件的前提下,通过改变被测系统内存、寄存器值来模拟硬件故障的产生,从而达到故障注入的目的。根据本专利技术的一个方面,提供一种基于JTAG调试方式实现通用型故障注入系统,其特征在于,包括:代码分析模块:加载被测二进制代码程序和相关的符号信息,解析符号信息和被测二进制代码之间的关联关系,对被测二进制代码进行反汇编,分析指令类型,依据某种策略划分指令执行单元;故障执行模块,接收运行控制和分析模块的指令并根据指令要求对被测系统进行操作,将操作结果返回给运行控制和分析模块;故障定义模块,用于定义故障内容,需要定义故障各个阶段需要对被测系统进行的操作;运行控制和分析模块,用于控制故障注入的过程和对故障结果进行分析;报告生成模块,用于将上述各个模块及故障注入的实际执行情况生成报告。优选地,所述故障执行模块通过网络与运行控制和分析模块连接,通过JTAG数据线与被测系统的JTAG接口连接。优选地,所述故障各个阶段包括故障注入前、故障注入时机、故障注入内容、故障检查点、故障检查对象、故障注入完成后。本专利技术还提供一种基于JTAG调试方式实现通用型故障注入方法,其特征在于,包括以下步骤:步骤一:加载被测二进制程序和相关符号信息,对被测程序进行反汇编,分析指令类型并依据某种策略划分指令执行单元,建立被测程序与符号信息之间的关联关系;步骤二,针对被测程序建立故障事件,定义故障注入各个阶段所要进行的操作,设置故障执行前需要做的操作、故障触发条件、故障注入内容、故障检查点、故障检查内容等各种操作;步骤三:通过仿真器,下载被测程序和相关配置信息,按照故障各阶段的定义执行故障注入过程;步骤四:根据仿真器的指令反馈信息,检测故障触发条件是否满足,若满足故障注入条件,则执行故障注入内容的相关指令,将故障注入到被测设备中;步骤五:检测故障检查点是否触发,当满足故障检查点的条件后,执行故障检查内容的相关指令,验证被测设备和程序,被注入故障后的执行结果是否跟预期结果一致;步骤六:执行故障注入完成后的相关指令内容,结束一条故障注入事件;步骤七:重复步骤三、步骤四、步骤五、步骤六,直到所有预定义的每条故障注入事件全部执行或由用户手动停止执行;步骤八:对执行过的故障注入事件进行分析,得出每条故障注入实际执行结果和总体执行结果,根据用户设定和用户自定义的报告模板,生成故障注入结果报告。与现有技术相比,本专利技术具有如下的有益效果:本专利技术不在被测系统中植入程序,不修改被测系统相关代码,更真实的反映被测系统在注入故障后的执行情况。本专利技术的故障执行模块采用具有调试功能的JTAG接口对被测系统进行故障注入,具有通用性,不会破坏被测系统的硬件环境。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:图1为本专利技术基于JTAG调试方式实现通用型故障注入系统的原理框图。具体实施方式下面结合具体实施例对本专利技术进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本专利技术,但不以任何形式限制本专利技术。应当指出的是,对本领域的普通技术人员来说,在不脱离本专利技术构思的前提下,还可以做出若干变形和改进。这些都属于本专利技术的保护范围。如图1所示,本专利技术基于JTAG调试方式实现通用型故障注入系统包括:代码分析模块:加载被测二进制代码程序和相关的符号信息,解析符号信息和被测二进制代码之间的关联关系,对被测二进制代码进行反汇编,分析指令类型,依据某种策略划分指令执行单元。故障执行模块,主要由基于JTAG调试方式实现的JTAG仿真器构成,该模块通过网络与运行控制和分析模块连接,通过JTAG数据线与被测系统的JTAG接口连接。该模块接收运行控制和分析模块的指令并根据指令要求对被测系统进行操作,将操作结果返回给运行控制和分析模块。该模块所处理的指令包括读写寄存器、读写内存、设置或取消断点、监控被测系统是否处于停止状态、驱动被测系统运行、驱动被测系统走单步、停止被测系统的运行、复位被测系统及其它调试相关命令。故障定义模块,用于定义故障内容,需要定义故障各个阶段需要对被测系统进行的操作。这些阶段包括:故障注入前、故障注入时机、故障注入内容、故障检查点、故障检查对象、故障注入完成后。故障注入各阶段的设置内容包括:(1)故障注入前,用于设置注入故障前需要对被测系统进行的操作。包括复位被测系统、下载被测程序、修改程序入口等。(2)故障注入时机,用于设置注入故障的时间点。包括被测程序运行到某个位置、被测程序触发某个断点、被测程序达到某种覆盖率、寄存器或某个内存值变为某个指定的值等。(3)故障注入内容,用于设置对被测程序和系统进行修改的一系列操作。包括修改寄存器、修改外设寄存器、修改内存值、修改全局变量值、修改程序指针等。(4)故障检查点,用于设置终止被测程序和被测系统运行的终止条件。包括触发某个断点或触发某些中断、运行指定的时间、达到某种覆盖率、运行到指定程序地址等。(5)故障检查对象,用于设置故障注入的预期值,是检查被测程序在运行中被注入故障后,运行是否符合预期的重要检查点。包括检查程序指针当前值、当前代码覆盖率或其他覆盖率是否达到预期、是否触发某个中断、是否超时等。(6)故障注入完成后,用于设置故障注入结束后的处理,包括复位被测系统等操作。运行控制和分析模块,用于控制故障注入的过程和对故障结果进行分析。该模块依据故障定义的各个阶段的设置,按阶段的顺序执行每个阶段的具体设置,触发故障检查点后,检查故障检查对象,分析故障注入的效果是否达到预期。报告生成模块,用于将上述各个模块及故障注入的实际执行情况生成报告。按照用户设置和用户自定义的报告模板,生成html报告、word报告或者其它类型的故障注入报告。本专利技术基于JTAG调试方式实现通用型故障注入方法包括以下步骤:步骤一:加载被测二进制程序和相关符号信息,对被测程序进行反汇编,分析指令类型并依据某种策略划分指令执行单元,建立被测程序与符号信息之间的关联关系;步骤二,针对被测程序建立故障事件,定义故障注入各个阶段所要进行的操作,设置故障执行前需要做的操作、故障触发条件、故障注入内容、故障检查点、故障检查内容等各种操作;步骤三:通过仿真器,下载被测程序和相关配置信息,按照故障各阶段的定义执行故障注入过程。首先执行故障注入前的动作,如被测设备复位或重新下载被测程序;步骤四:根据仿真器本文档来自技高网...
基于JTAG调试方式实现通用型故障注入系统和故障注入方法

【技术保护点】
一种基于JTAG调试方式实现通用型故障注入系统,其特征在于,包括:代码分析模块:加载被测二进制代码程序和相关的符号信息,解析符号信息和被测二进制代码之间的关联关系,对被测二进制代码进行反汇编,分析指令类型,依据某种策略划分指令执行单元;故障执行模块,接收运行控制和分析模块的指令并根据指令要求对被测系统进行操作,将操作结果返回给运行控制和分析模块;故障定义模块,用于定义故障内容,需要定义故障各个阶段需要对被测系统进行的操作;运行控制和分析模块,用于控制故障注入的过程和对故障结果进行分析;报告生成模块,用于将上述各个模块及故障注入的实际执行情况生成报告。

【技术特征摘要】
1.一种基于JTAG调试方式实现通用型故障注入系统,其特征在于,包括:代码分析模块:加载被测二进制代码程序和相关的符号信息,解析符号信息和被测二进制代码之间的关联关系,对被测二进制代码进行反汇编,分析指令类型,依据某种策略划分指令执行单元;故障执行模块,接收运行控制和分析模块的指令并根据指令要求对被测系统进行操作,将操作结果返回给运行控制和分析模块;故障定义模块,用于定义故障内容,需要定义故障各个阶段需要对被测系统进行的操作;运行控制和分析模块,用于控制故障注入的过程和对故障结果进行分析;报告生成模块,用于将上述各个模块及故障注入的实际执行情况生成报告;所述故障执行模块通过网络与运行控制和分析模块连接,通过JTAG数据线与被测系统的JTAG接口连接;所述故障各个阶段包括故障注入前、故障注入时机、故障注入内容、故障检查点、故障检查对象、故障注入完成后;所述故障各个阶段按阶段的顺序执行每个阶段的具体设置,触发故障检查点后,检查故障检查对象,分析故障注入的效果是否达到预期。2.一种基于JTAG调试方式实现通用型故障注入方法,其特征在于,包括以下步骤:步骤一:加...

【专利技术属性】
技术研发人员:朱二刚张必勇陶钧
申请(专利权)人:上海创景计算机系统有限公司
类型:发明
国别省市:上海;31

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

1