CN103559112A - 一种软件故障注入方法及系统 - Google Patents

一种软件故障注入方法及系统 Download PDF

Info

Publication number
CN103559112A
CN103559112A CN201310544465.9A CN201310544465A CN103559112A CN 103559112 A CN103559112 A CN 103559112A CN 201310544465 A CN201310544465 A CN 201310544465A CN 103559112 A CN103559112 A CN 103559112A
Authority
CN
China
Prior art keywords
fault
module
host computer
real
time 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
Application number
CN201310544465.9A
Other languages
English (en)
Other versions
CN103559112B (zh
Inventor
林文慧
罗喜霜
蒙屈
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Runke General Technology Co Ltd
Original Assignee
Beijing Jingwei Hirain Tech Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Jingwei Hirain Tech Co Ltd filed Critical Beijing Jingwei Hirain Tech Co Ltd
Priority to CN201310544465.9A priority Critical patent/CN103559112B/zh
Publication of CN103559112A publication Critical patent/CN103559112A/zh
Application granted granted Critical
Publication of CN103559112B publication Critical patent/CN103559112B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请提供了一种软件故障注入方法和系统,其中一种软件故障注入方法,包括:上位机生成故障信息并发送至实时仿真机中;实时仿真机依据故障信息,确定故障信号类型;实时仿真机将故障信号类型对应的故障数据添加至无故障测试信号中,生成故障测试信号,并发送故障测试信号,由待测系统对故障测试信号进行仿真测试。由于实时仿真机在生成故障测试信号的同时,上位机可以生成一故障信息,该故障信息不同于上位机之前所生成的故障信息,从而实现故障测试信号生成的同时,上位机在线修改实时仿真机下一次生成的故障测试信号所依据的故障信息,使得修改更加便捷。

Description

一种软件故障注入方法及系统
技术领域
本申请涉及故障注入技术领域,特别涉及一种软件故障注入方法及系统。
背景技术
故障注入技术是一种可靠性验证技术,其用于模拟产生各种故障并注入待测系统,观察待测系统中存在故障时的行为,并最终得到评价结果。目前故障注入技术方法包括:硬件故障注入、仿真故障注入以及软件故障注入。其中硬件故障注入用于完成物理级故障注入,用于使待测系统的正常硬件环境受到影响,从而产生故障。仿真故障注入是在模型仿真过程中,利用某种标准硬件描述语言,如VHDL(Very-High-Speed IntegratedCircuit Hardware Description Language,标准硬件描述语言)改变逻辑值或时间开销来达到故障注入的效果。软件故障注入是通过在软件级生成错误,从而造成硬件级故障,例如通过修改待测系统内存或处理器内部的寄存器值来模拟硬件故障的发生。
在上述三种故障注入方法中,由于软件故障注入方法无需复杂的实验装置,实现成本低,可在编译阶段和程序运行时注入故障,且可以在未损坏待测系统的硬件的前提下基本达到硬件级故障的效果,所以目前主要使用软件故障注入方法,现有软件故障注入方法的过程如下:
待测系统执行的源代码中加入故障代码,在有外部请求时,执行故障代码,实现故障的注入。因此当故障发生变化时,需要中断当前仿真测试过程,重新修改源代码中加入的故障代码,即无法实现在线实时修改。
发明内容
本申请所要解决的技术问题是提供一种软件故障注入方法,用以解决现有软件故障注入无法在线实时修改的问题。本申请还提供一种软件故障注入系统,用于保证上述方法在实际中的实现及应用。本申请提供的软件故障注入方法和系统的技术方案如下:
本申请实施例提供一种软件故障注入方法,应用于一软件故障注入系统中,所述软件故障注入系统包括上位机和与所述上位机连接的实时仿真机,所述方法包括:
所述上位机生成故障信息并发送至所述实时仿真机中;
所述实时仿真机依据所述故障信息,确定故障信号类型;
所述实时仿真机将所述故障信号类型对应的故障数据添加至无故障测试信号中,生成故障测试信号,并发送所述故障测试信号,由待测系统对所述故障测试信号进行仿真测试。
优选地,所述上位机生成故障信息并发送至所述实时仿真机之前,所述方法还包括:所述上位机构建故障注入模块,并将所述故障注入模块编译下载至所述实时仿真机。
优选地,所述故障注入模块包括故障切换模块和至少一个故障类型模块;
所述实时仿真机依据所述故障信息,确定故障信号类型包括:所述实时仿真机依据所述故障信息,获取所述故障切换模块所选择的所述至少一个故障类型模块,确定所述所选择的故障类型模块对应的故障信号类型。
优选地,所述故障注入模块还包括:故障使能模块;
所述实时仿真机在所述故障使能模块的使能变量有效的情况下,将所述故障信号类型对应的故障数据添加至无故障测试信号中。
优选地,所述上位机生成故障信息包括:所述上位机获取所述故障切换模块和所述故障使能模块的取值,依据所述取值生成所述故障信息。
优选地,所述上位机构建所述故障注入模块,并将所述故障注入模块编译下载至所述实时仿真机之后,所述方法还包括:
所述实时仿真机对所述故障注入模块进行验证,得到模块验证结果;
所述实时仿真机在判断所述模块验证结果与所述上位机的数字仿真结果不一致的情况下,发送反馈信息至所述上位机;
所述上位机调整所述故障注入模块,并继续对调整后的所述故障注入模块编译下载至所述实时仿真机,由所述实时仿真机继续对调整后的故障注入模块进行验证直至调整后的故障注入模块的模块验证结果与所述上位机的数字仿真结果一致;
所述上位机在所述调整后的故障注入模块的模块验证结果与所述上位机的数字仿真结果一致的情况下,生成上位机生成故障信息并发送至所述实时仿真机。
本申请实施例还提供一种软件故障注入系统,所述软件故障注入系统包括上位机和与所述上位机连接的实时仿真机,所述上位机包括:信息生成单元和信息发送单元,其中,所述信息生成单元用于生成故障信息,所述信息发送单元用于发送所述故障信息至所述实时仿真机中;
所述实时仿真机包括:选取单元、生成单元和信号发送单元,其中,
所述选取单元,用于依据所述故障信息,确定故障信号类型;
所述生成单元,用于将所述故障信号类型对应的故障数据添加至无故障测试信号中,生成故障测试信号;
所述信号发送单元,用于发送所述故障测试信号,由待测系统对所述故障测试信号进行仿真测试。
优选地,所述上位机还包括:构建单元和编译下载单元;
所述构建单元,用于构建故障注入模块;
所述编译下载单元,用于将所述故障注入模块编译下载至所述实时仿真机。
优选地,所述故障注入模块包括故障切换模块、故障使能模块和至少一个故障类型模块;
所述选取单元具体用于依据所述故障信息,获取所述故障切换模块所选择的所述至少一个故障类型模块,确定所述所选择的故障类型模块对应的故障信号类型;
所述生成单元具体用于在所述故障使能模块的使能变量有效的情况下,将所述故障信号类型对应的故障数据添加至无故障测试信号中。
优选地,所述实时仿真机还包括:验证单元,用于对所述故障注入模块进行验证,得到模块验证结果,并在所述模块验证结果与所述上位机的数字仿真结果不一致的情况下,触发所述信号发送单元发送反馈信息至所述上位机;
所述构建单元还用于在接收到所述反馈信息后,调整所述故障注入模块,直至调整后的故障注入模块的模块验证结果与所述上位机的数字仿真结果一致。
与现有技术相比,本申请包括以下优点:
本申请实施例提供的软件故障注入方法应用于一包括上位机和实时仿真机的软件故障注入系统中,其中上位机生成故障信息并发送至实时仿真机中,实时仿真机在接收到故障信息后,确定故障信号类型,并将故障信号类型对应的故障数据添加至无故障测试信号中,生成故障测试信号,再由待测系统对故障测试信号进行仿真测试。
与现有软件故障注入方法相比,本申请实施例提供的软件故障注入方法中,实时仿真机在生成故障测试信号的同时,上位机可以生成一故障信息,该故障信息不同于上位机之前所生成的故障信息,从而实现故障测试信号生成的同时,上位机在线修改实时仿真机下一次生成的故障测试信号所依据的故障信息,使得修改更加便捷。进一步,上位机可以在生成故障信息的同时,实时仿真机生成故障测试信号,实现了两种操作在不同设备中执行,相对于这两种操作在同一设备中执行,降低执行时间。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的一种软件故障注入方法的一种流程图;
图2是本申请提供的一种软件故障注入方法的另一种流程图;
图3是本申请提供的故障注入模块的示意图;
图4是本申请提供的人机交互界面的示意图;
图5是本申请提供的一种软件故障注入方法的一种子流程图;
图6是本申请提供的一种软件故障注入系统的一种结构示意图;
图7是本申请提供的一种软件故障注入系统的另一种结构示意图;
图8是本申请提供的一种软件故障注入系统的再一种结构示意图。
具体实施方式
首先对本申请实施例提供的软件故障注入方法进行简单说明,该软件故障注入方法,应用于一软件故障注入系统中,软件故障注入系统包括上位机和与上位机连接的实时仿真机,其特征在于,方法包括:
上位机生成故障信息并发送至实时仿真机中。
实时仿真机依据故障信息,确定故障信号类型。
实时仿真机将故障信号类型对应的故障数据添加至无故障测试信号中,生成故障测试信号,并发送故障测试信号,由待测系统对故障测试信号进行仿真测试。
本申请实施例提供的软件故障注入方法中,实时仿真机在生成故障测试信号的同时,上位机可以生成一故障信息,该故障信息不同于上位机之前所生成的故障信息,从而实现故障测试信号生成的同时,上位机在线修改实时仿真机下一次生成的故障测试信号所依据的故障信息,使得修改更加便捷。进一步,上位机可以在生成故障信息的同时,实时仿真机生成故障测试信号,实现了两种操作在不同设备中执行,相对于这两种操作在同一设备中执行,降低执行时间。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,其示出了本申请实施例提供的一种软件故障注入方法的一种流程图,该软件故障注入方法应用于一软件故障注入系统中,软件故障注入系统包括上位机和与上位机连接的实时仿真机,可以包括以下步骤:
步骤101:上位机生成故障信息并发送至实时仿真机中。
步骤102:实时仿真机依据故障信息,确定故障信号类型。
在本申请实施例中,故障信息可以用于确定故障信号类型以及控制实时仿真机是否生成故障测试信号。其中故障信号类型用于指示生成的故障测试信号针对的测试类型,不同的故障信号类型,测试类型也不同,若故障信号类型是数据类型,则测试主要针对的是对不同环境下数据测试,若故障信号类型是逻辑类型,则测试主要针对的是程序的逻辑执行测试。
步骤103:实时仿真机将故障信号类型对应的故障数据添加至无故障测试信号中,生成故障测试信号,并发送故障测试信号,由待测系统对故障测试信号进行仿真测试。
可以理解的是,故障信息控制实时仿真机是否生成故障测试信号的一种可行方式是:故障信息可以携带一变量,该变量用于标识实时仿真机是否需要生成故障测试信号。当变量有效时,实时仿真机将故障信号类型对应的故障数据添加至无故障测试信号中,生成故障测试信号,否则实时仿真机直接发送无故障测试信号。
其中,变量有效可以通过变量的取值确定,例如当变量的取值为1时,实时仿真机确定变量有效,此时实时仿真机生成故障测试信号。当变量的取值为0时,实时仿真机确定变量无效,此时实时仿真机不再生成故障测试信号,直接输出无故障测试信号。
由于实时仿真机在生成故障测试信号的同时,上位机可以生成一故障信息,该故障信息不同于上位机之前所生成的故障信息,从而实现故障测试信号生成的同时,上位机在线修改实时仿真机下一次生成的故障测试信号所依据的故障信息,使得修改更加便捷。进一步,上位机可以在生成故障信息的同时,实时仿真机生成故障测试信号,实现了两种操作在不同设备中执行,相对于这两种操作在同一设备中执行,降低执行时间
请参阅图2,其示出了本申请实施例提供的一种软件故障注入方法的另一种流程图,可以包括以下步骤:
步骤201:上位机构建故障注入模块,并将故障注入模块编译下载至实时仿真机。
步骤202:实时仿真机依据故障信息,获取故障切换模块所选择的至少一个故障类型模块,确定所选择的故障类型模块对应的故障信号类型。
其中故障注入模块可以包括故障切换模块和至少一个故障类型模块,每个故障类型模块对应一种故障信号类型,该故障信号类型用于标识故障测试信号的主要用途。
故障切换模块则用于进行故障信号类型的选择,具体过程是:从故障注入模块中选择至少一个故障类型模块,将其选择的故障类型模块对应的故障信号类型作为故障测试信号的类型。
下面以图3所示故障注入模块为例进行详细说明,在图3中故障注入模块包括三个具有不同故障测试功能的故障类型模块,分别是可调参故障类型模块、模态切换故障类型模块和滤波故障类型模块。
其中可调参故障类型模块对应的故障信号类型为纠错测试类型,用于测试协议层的数据纠错能力,可以包括:超范围数据、空数据和错误数据三种纠错测试数据。
模态切换故障类型模块对应的故障信号类型为逻辑测试类型,用于测试协议层的逻辑执行能力,可以包括:逻辑故障数据和多模态数据两种逻辑测试数据。
滤波故障类型模块对应的故障信号类型为抗干扰测试类型,用于测试协议层的抗干扰能力,可以包括:噪声数据、超调数据和变频数据三种抗干扰测试数据。
这里需要说明的一点是:逻辑故障数据是将正常逻辑更改为错误逻辑测试协议层,如原有正常逻辑应该是:A→B→C,而在测试时将其更改为:A→C→B。多模态数据是测试协议层处于至少两种模态下的逻辑执行。超调数据表示被调参数动态偏离给定值的最大程度,用于测试在这种情况下抗干扰能力,变频数据用于改变通信双方中某一方的发送或接收信号的频率,测试另一方是否能正确接收到信号。
步骤203:实时仿真机在故障使能模块的使能变量有效的情况下,将故障信号类型对应的故障数据添加至无故障测试信号中,生成故障测试信号。
在图3所示的故障注入模块中,故障注入模块输入端输入的是无故障测试信号,其输出端输出无故障测试信号还是故障测试信号由故障注入模块的故障使能模块,其中故障使能模块中设置有一使能变量,用于确定是否生成故障测试信号。
具体的,故障使能模块的输出端输出的是使能变量数值,如果该使能变量为高电平,则说明使能变量有效,通过故障切换模块确定所要选取的软件故障注入模块,进一步由实时仿真机从确定的软件故障注入模块中选取故障信号类型。故障信号类型被添加至无故障测试信号中,输出故障测试信号。如果使能变量为低电平,则说明使能变量无效,则实时仿真机直接输出无故障测试信号。
可以理解的是:使能变量是否有效,可以通过判断使能变量的取值来确定。例如图3中使能变量的取值为1,表示使能变量有效,此时实时仿真机将故障信号类型对应的故障数据添加至无故障测试信号中,生成故障测试信号,并从故障注入模块的输出端输出。
相对于图3所示的故障注入模块,实时仿真机从故障信息中可以确定故障切换模块选择的是可调参故障类型模块,则实时仿真机进一步将可调参故障类型模块对应的故障数据添加至无故障测试信号中,生成故障测试信号。
步骤204:实时仿真机将故障测试信号发送至待测系统。
步骤205:待测系统对故障测试信号进行仿真测试,得到最终的故障测试结果。
此外,在本申请实施例提供的软件故障注入方法中,上位机的显示界面中提供一人机交互界面,故障切换模块和故障使能模块以变量形式展示在人机交互界面中,如图4所示。在该人机交互界面中,测试人员可以操作故障切换模块选项选择故障类型模块,当测试人员选中某一个故障类型模块,则表示实时仿真机生成的故障测试信号中具有该故障类型模块的故障信号类型。同样测试人员可以选择故障使能模块的使能变量的取值,以控制故障使能模块的使能变量是否有效。
测试人员在选择故障切换模块和故障使能模块的取值时,上位机同步获取这两个模块的取值,再依据两个模块的取值生成故障信息。
当然除了图4所示人机交互界面来手动控制故障信息外,还可以在上位机上预先设置不同情况下对应的故障信息,对于不同情况下故障信息不同,则上位机可以在不同情况下选取预先设置的故障信息,实现自动生成故障信息,这样实时仿真机可以生成具有不同测试功能的故障测试信号。
在这里需要指出的一点是:实时仿真机中的故障注入模块是由上位机构建,并由上位机编译并下载至实时仿真机中。其中上位机对故障注入模块的构建过程如下:
在图形化的建模工具,如MATLAB(Matrix Laboratory,矩阵实验室)/Simulink环境下,根据系统的故障注入类型和功能要求,搭建如图3所示的故障注入模块,并在数学仿真环境下对所搭建的故障注入模块进行数学仿真验证,得到数学仿真结果。数学仿真环境是指在上位机以数学工具搭建的一个模型环境。
当数学仿真验证符合开发人员所设定的设计结构和设计指标则认为该故障注入模型设计合理并具有实施性,则此时上位机对故障注入模块进行编译下载至实时仿真机中。
实时仿真机对该故障注入模块进行测试,由于实时仿真机和上位机测试故障注入模块的环境不同,所以两者的测试结果可能不同,当两者的测试结果不同时,实时仿真机发送反馈信息至上位机,由上位机调整故障注入模块。具体过程如图5所示流程图,可以包括以下步骤:
步骤501:实时仿真机对故障注入模块进行验证,得到模块验证结果。
步骤502:实时仿真机在判断模块验证结果与上位机的数字仿真结果不一致的情况下,发送反馈信息至上位机。
实时仿真机如果出现仿真超时或信号逻辑不正确的模块验证结果,则可以判断模块验证结果与上位机的数字仿真结果不一致,此时实时仿真机发送反馈信息至上位机,提示上位机调整故障注入模块。
步骤503:上位机调整故障注入模块,并继续对调整后的故障注入模块编译下载至实时仿真机,由实时仿真机继续对调整后的故障注入模块进行验证直至调整后的故障注入模块的模块验证结果与上位机的数字仿真结果一致。
步骤504:上位机在调整后的故障注入模块的模块验证结果与上位机的数字仿真结果一致的情况下,生成上位机生成故障信息并发送至实时仿真机。
上位机通过选择易于从数字仿真到实时仿真过渡的建模工具来搭建故障注入模块,并选用通用的实时仿真平台来验证故障注入模块,从而可以快速实现对故障模型的设计开发和验证。
本申请实施例提供的软件故障注入方法采用基于图3所示的故障注入模块,在该故障注入模块中添加可调参故障类型模块、模态切换故障类型模块和滤波故障类型模块等表示故障类型的模块,可以在仿真测试过程中,通过手动故障注入或者自动故障注入这两种软件故障注入管理方式,在线修改故障注入模块中的中各类型模块的取值,实现了在无需停止仿真测试过程即可进行故障修改,从而实现在线修改以及可快速地实现各类故障注入功能。
此外,本申请实施例将故障注入模块采用图形化的建模工具构建,使故障注入模块的搭建过程图形化、简单化、模块化,有模板可循,使用者无需深厚的编程基础即可实现故障模型设计与实现。同时上位机可以通过操作人员手动故障注入以及自动故障注入这两种软件故障注入管理方式的切换,使得故障注入过程更加灵活、便捷和高效。
与上述方法实施例相对应,本申请实施例还提供一种软件故障注入系统,其结构示意图请参阅图6所示,包括上位机1和与上位机1连接的实时仿真机2。其中,
上位机1包括:信息生成单元11和信息发送单元12,信息生成单元11,用于生成故障信息。信息发送单元12用于发送故障信息至实时仿真机2。
实时仿真机2包括:选取单元21、生成单元22和信号发送单元23,其中,选取单元21,用于依据故障信息,确定故障信号类型。
在本申请实施例中,故障信息可以用于确定故障信号类型以及控制实时仿真机2是否生成故障测试信号。其中故障信号类型用于指示生成的故障测试信号针对的测试类型,不同的故障信号类型,测试类型也不同,若故障信号类型是数据类型,则测试主要针对的是对不同环境下数据测试,若故障信号类型是逻辑类型,则测试主要针对的是程序的逻辑执行测试。
生成单元22,用于将故障信号类型对应的故障数据添加至无故障测试信号中,生成故障测试信号。可以理解的是,故障信息可以携带一变量,该变量用于标识实时仿真机是否需要生成故障测试信号。当变量有效时,生成单元22将故障信号类型对应的故障数据添加至无故障测试信号中,生成故障测试信号,否则生成单元22直接发送无故障测试信号至信号发送单元23。
其中,变量有效可以通过变量的取值确定,例如当变量的取值为1时,生成单元22确定变量有效,此时生成单元22生成故障测试信号。当变量的取值为0时,生成单元22确定变量无效,此时生成单元22不再生成故障测试信号,直接输出无故障测试信号。
信号发送单元23,用于发送故障测试信号,由待测系统对故障测试信号进行仿真测试。
由于故障信息生成和故障测试信号生成分别由上位机1和实时仿真机2的不同单元进行,所以信息生成单元21在生成单元21生成故障测试信号的同时,可以在线修改故障信息,进而生成单元21生成该故障信息对应的故障测试信号,从而实现在线修改。
请参阅图7,其示出了本申请实施例提供的一种软件故障注入系统的另一种结构示意图,在图6基础上上位机1还可以包括:构建单元13和编译下载单元14。其中构建单元13,用于构建故障注入模块。编译下载单元14,用于将故障注入模块编译下载至实时仿真机。
在本申请实施例中,故障注入模块的结构示意图如图3所示,可以包括:故障切换模块、故障使能模块和至少一个故障类型模块。在图3中故障注入模块包括三个具有不同故障测试功能的故障类型模块,分别是可调参故障类型模块、模态切换故障类型模块和滤波故障类型模块。
其中可调参故障类型模块对应的故障信号类型为纠错测试类型,用于测试协议层的数据纠错能力,可以包括:超范围数据、空数据和错误数据三种纠错测试数据。
模态切换故障类型模块对应的故障信号类型为逻辑测试类型,用于测试协议层的逻辑执行能力,可以包括:逻辑故障数据和多模态数据两种逻辑测试数据。
滤波故障类型模块对应的故障信号类型为抗干扰测试类型,用于测试协议层的抗干扰能力,可以包括:噪声数据、超调数据和变频数据三种抗干扰测试数据。
故障切换模块则用于进行故障信号类型的选择,相应的,选取单元21具体用于依据故障信息,获取故障切换模块所选择的至少一个故障类型模块,确定所选择的故障类型模块对应的故障信号类型,该故障信号类型可以作为故障测试信号的类型。
生成单元22则具体用于在故障使能模块的使能变量有效的情况下,将故障信号类型对应的故障数据添加至无故障测试信号中。
可以理解的是:使能变量是否有效,可以通过判断使能变量的取值来确定。例如图3中使能变量的取值为1,表示使能变量有效,此时实时仿真机将故障信号类型对应的故障数据添加至无故障测试信号中,生成故障测试信号,并从故障注入模块的输出端输出。
相对于图3所示的故障注入模块,实时仿真机从故障信息中可以确定故障切换模块选择的是可调参故障类型模块,则实时仿真机进一步将可调参故障类型模块对应的故障数据添加至无故障测试信号中,生成故障测试信号。
此外,本申请实施例提供的软件故障注入系统中,实时仿真机2还可以包括:验证单元,用于对故障注入模块进行验证,得到模块验证结果,并在模块验证结果与上位机的数字仿真结果不一致的情况下,触发信号发送单元23发送反馈信息至上位机。
构建单元13还用于在接收到反馈信息后,调整故障注入模块,直至调整后的故障注入模块的模块验证结果与上位机的数字仿真结果一致。
当然,在实际设计中实时仿真机和待测系统的系统参数不同,如信号量和信号类型不同,则实时仿真机在发送故障测试信号至待测系统之前,需要首先进行故障测试信号转换,所以本申请实施例提供的软件故障注入系统还可以包括适配箱,该适配箱用于转换故障测试信号,以使待测系统可以识别。
软件故障测试系统的再一种示意图请参阅图8所示,包括:上位机1、实时仿真机2和适配箱3。上位机1中的故障注入模块通过以太网发送至实时仿真机2中,实时仿真机2中运行该故障注入模块的界面,如图8中实时仿真机左侧的界面。实时仿真机2生成故障测试信号后,经由适配箱3转换后发送至待测系统。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上系统时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
以上对本申请所提供的一种软件故障注入方法及系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种软件故障注入方法,应用于一软件故障注入系统中,所述软件故障注入系统包括上位机和与所述上位机连接的实时仿真机,其特征在于,所述方法包括:
所述上位机生成故障信息并发送至所述实时仿真机中;
所述实时仿真机依据所述故障信息,确定故障信号类型;
所述实时仿真机将所述故障信号类型对应的故障数据添加至无故障测试信号中,生成故障测试信号,并发送所述故障测试信号,由待测系统对所述故障测试信号进行仿真测试。
2.根据权利要求1所述的软件故障注入方法,其特征在于,所述上位机生成故障信息并发送至所述实时仿真机之前,所述方法还包括:所述上位机构建故障注入模块,并将所述故障注入模块编译下载至所述实时仿真机。
3.根据权利要求2所述的软件故障注入方法,其特征在于,所述故障注入模块包括故障切换模块和至少一个故障类型模块;
所述实时仿真机依据所述故障信息,确定故障信号类型包括:所述实时仿真机依据所述故障信息,获取所述故障切换模块所选择的所述至少一个故障类型模块,确定所述所选择的故障类型模块对应的故障信号类型。
4.根据权利要求3所述的软件故障注入方法,其特征在于,所述故障注入模块还包括:故障使能模块;
所述实时仿真机在所述故障使能模块的使能变量有效的情况下,将所述故障信号类型对应的故障数据添加至无故障测试信号中。
5.根据权利要求4所述的软件故障注入方法,其特征在于,所述上位机生成故障信息包括:所述上位机获取所述故障切换模块和所述故障使能模块的取值,依据所述取值生成所述故障信息。
6.根据权利要求2所述的软件故障注入方法,其特征在于,所述上位机构建所述故障注入模块,并将所述故障注入模块编译下载至所述实时仿真机之后,所述方法还包括:
所述实时仿真机对所述故障注入模块进行验证,得到模块验证结果;
所述实时仿真机在判断所述模块验证结果与所述上位机的数字仿真结果不一致的情况下,发送反馈信息至所述上位机;
所述上位机调整所述故障注入模块,并继续对调整后的所述故障注入模块编译下载至所述实时仿真机,由所述实时仿真机继续对调整后的故障注入模块进行验证直至调整后的故障注入模块的模块验证结果与所述上位机的数字仿真结果一致;
所述上位机在所述调整后的故障注入模块的模块验证结果与所述上位机的数字仿真结果一致的情况下,生成上位机生成故障信息并发送至所述实时仿真机。
7.一种软件故障注入系统,所述软件故障注入系统包括上位机和与所述上位机连接的实时仿真机,其特征在于,所述上位机包括:信息生成单元和信息发送单元,其中,所述信息生成单元用于生成故障信息,所述信息发送单元用于发送所述故障信息至所述实时仿真机中;
所述实时仿真机包括:选取单元、生成单元和信号发送单元,其中,
所述选取单元,用于依据所述故障信息,确定故障信号类型;
所述生成单元,用于将所述故障信号类型对应的故障数据添加至无故障测试信号中,生成故障测试信号;
所述信号发送单元,用于发送所述故障测试信号,由待测系统对所述故障测试信号进行仿真测试。
8.根据权利要求7所述的软件故障注入系统,其特征在于,所述上位机还包括:构建单元和编译下载单元;
所述构建单元,用于构建故障注入模块;
所述编译下载单元,用于将所述故障注入模块编译下载至所述实时仿真机。
9.根据权利要求8所述的软件故障注入系统,其特征在于,所述故障注入模块包括故障切换模块、故障使能模块和至少一个故障类型模块;
所述选取单元具体用于依据所述故障信息,获取所述故障切换模块所选择的所述至少一个故障类型模块,确定所述所选择的故障类型模块对应的故障信号类型;
所述生成单元具体用于在所述故障使能模块的使能变量有效的情况下,将所述故障信号类型对应的故障数据添加至无故障测试信号中。
10.根据权利要求8所述的软件故障注入系统,其特征在于,所述实时仿真机还包括:验证单元,用于对所述故障注入模块进行验证,得到模块验证结果,并在所述模块验证结果与所述上位机的数字仿真结果不一致的情况下,触发所述信号发送单元发送反馈信息至所述上位机;
所述构建单元还用于在接收到所述反馈信息后,调整所述故障注入模块,直至调整后的故障注入模块的模块验证结果与所述上位机的数字仿真结果一致。
CN201310544465.9A 2013-11-05 2013-11-05 一种软件故障注入方法及系统 Active CN103559112B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310544465.9A CN103559112B (zh) 2013-11-05 2013-11-05 一种软件故障注入方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310544465.9A CN103559112B (zh) 2013-11-05 2013-11-05 一种软件故障注入方法及系统

Publications (2)

Publication Number Publication Date
CN103559112A true CN103559112A (zh) 2014-02-05
CN103559112B CN103559112B (zh) 2015-11-25

Family

ID=50013363

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310544465.9A Active CN103559112B (zh) 2013-11-05 2013-11-05 一种软件故障注入方法及系统

Country Status (1)

Country Link
CN (1) CN103559112B (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104778123A (zh) * 2015-03-30 2015-07-15 微梦创科网络科技(中国)有限公司 一种检测系统性能的方法及装置
CN105005015A (zh) * 2015-04-23 2015-10-28 广西电网有限责任公司电力科学研究院 一种基于硬件电路故障注入的电路故障仿真系统
CN105204450A (zh) * 2014-06-17 2015-12-30 上海通用汽车有限公司 一种故障注入系统
CN106294121A (zh) * 2016-07-13 2017-01-04 北京航空航天大学 飞机嵌入式实时诊断推理算法试验方法
CN106295809A (zh) * 2016-07-13 2017-01-04 北京航空航天大学 飞机嵌入式实时诊断推理算法试验系统
CN106777529A (zh) * 2016-11-23 2017-05-31 天津大学 基于fpga的集成电路抗故障注入攻击能力评估方法
CN107632897A (zh) * 2017-09-04 2018-01-26 西安交通大学 一种基于ssd故障概率模型的故障注入方法
WO2018023363A1 (zh) * 2016-08-02 2018-02-08 邹霞 一种故障仿真系统
CN108427838A (zh) * 2018-03-07 2018-08-21 西安微电子技术研究所 一种基于仿真的数字电路故障注入方法
CN109814403A (zh) * 2018-12-27 2019-05-28 中国电力科学研究院有限公司 一种高密度分布式逆变并网的数模混合仿真系统
CN110850354A (zh) * 2019-09-26 2020-02-28 广州供电局有限公司 计量故障识别模块检测方法、装置、系统和存储介质
CN110873831A (zh) * 2019-12-03 2020-03-10 中国航空综合技术研究所 面向中低频正弦信号的频率故障注入器
CN111044826A (zh) * 2019-12-30 2020-04-21 上海科梁信息工程股份有限公司 检测方法及检测系统
CN111238817A (zh) * 2020-01-02 2020-06-05 北京航天测控技术有限公司 故障注入方法和系统
CN111865719A (zh) * 2020-07-17 2020-10-30 苏州浪潮智能科技有限公司 一种交换机故障注入自动化测试方法和装置
CN112034296A (zh) * 2020-09-27 2020-12-04 中国商用飞机有限责任公司北京民用飞机技术研究中心 一种航电故障注入系统、方法
CN112380084A (zh) * 2020-12-05 2021-02-19 中国人民解放军32181部队 一种故障注入与仿真验证方法
CN113342693A (zh) * 2021-07-06 2021-09-03 阳光电源股份有限公司 一种测试数据的生成方法、装置、系统及控制器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101281555A (zh) * 2008-05-28 2008-10-08 北京时代民芯科技有限公司 一种验证抗单粒子效应能力的故障注入系统及其方法
CN101477376A (zh) * 2009-01-14 2009-07-08 南京航空航天大学 航天器执行机构故障注入装置及其故障注入方法
CN101937232A (zh) * 2010-09-07 2011-01-05 北京航空航天大学 基于多路数据总线的嵌入式实时仿真与故障模拟系统
EP2565790A1 (en) * 2011-08-31 2013-03-06 Samsung Electronics Polska Spolka z organiczona odpowiedzialnoscia Method and system for injecting simulated errors

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101281555A (zh) * 2008-05-28 2008-10-08 北京时代民芯科技有限公司 一种验证抗单粒子效应能力的故障注入系统及其方法
CN101477376A (zh) * 2009-01-14 2009-07-08 南京航空航天大学 航天器执行机构故障注入装置及其故障注入方法
CN101937232A (zh) * 2010-09-07 2011-01-05 北京航空航天大学 基于多路数据总线的嵌入式实时仿真与故障模拟系统
EP2565790A1 (en) * 2011-08-31 2013-03-06 Samsung Electronics Polska Spolka z organiczona odpowiedzialnoscia Method and system for injecting simulated errors

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
彭俊杰: "一种用于星载系统可靠性评测的软件故障注入工具", 《宇航学报》 *

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105204450A (zh) * 2014-06-17 2015-12-30 上海通用汽车有限公司 一种故障注入系统
CN104778123B (zh) * 2015-03-30 2017-08-25 微梦创科网络科技(中国)有限公司 一种检测系统性能的方法及装置
CN104778123A (zh) * 2015-03-30 2015-07-15 微梦创科网络科技(中国)有限公司 一种检测系统性能的方法及装置
CN105005015A (zh) * 2015-04-23 2015-10-28 广西电网有限责任公司电力科学研究院 一种基于硬件电路故障注入的电路故障仿真系统
CN106295809B (zh) * 2016-07-13 2018-12-14 北京航空航天大学 飞机嵌入式实时诊断推理算法试验系统
CN106294121A (zh) * 2016-07-13 2017-01-04 北京航空航天大学 飞机嵌入式实时诊断推理算法试验方法
CN106295809A (zh) * 2016-07-13 2017-01-04 北京航空航天大学 飞机嵌入式实时诊断推理算法试验系统
WO2018023363A1 (zh) * 2016-08-02 2018-02-08 邹霞 一种故障仿真系统
CN106777529A (zh) * 2016-11-23 2017-05-31 天津大学 基于fpga的集成电路抗故障注入攻击能力评估方法
CN107632897B (zh) * 2017-09-04 2019-07-23 西安交通大学 一种基于ssd故障概率模型的故障注入方法
CN107632897A (zh) * 2017-09-04 2018-01-26 西安交通大学 一种基于ssd故障概率模型的故障注入方法
CN108427838A (zh) * 2018-03-07 2018-08-21 西安微电子技术研究所 一种基于仿真的数字电路故障注入方法
CN109814403A (zh) * 2018-12-27 2019-05-28 中国电力科学研究院有限公司 一种高密度分布式逆变并网的数模混合仿真系统
CN109814403B (zh) * 2018-12-27 2023-11-14 中国电力科学研究院有限公司 一种高密度分布式逆变并网的数模混合仿真系统
CN110850354B (zh) * 2019-09-26 2021-11-09 广东电网有限责任公司广州供电局 计量故障识别模块检测方法、装置、系统和存储介质
CN110850354A (zh) * 2019-09-26 2020-02-28 广州供电局有限公司 计量故障识别模块检测方法、装置、系统和存储介质
CN110873831A (zh) * 2019-12-03 2020-03-10 中国航空综合技术研究所 面向中低频正弦信号的频率故障注入器
CN110873831B (zh) * 2019-12-03 2021-10-08 中国航空综合技术研究所 面向中低频正弦信号的频率故障注入器
CN111044826A (zh) * 2019-12-30 2020-04-21 上海科梁信息工程股份有限公司 检测方法及检测系统
CN111238817A (zh) * 2020-01-02 2020-06-05 北京航天测控技术有限公司 故障注入方法和系统
CN111238817B (zh) * 2020-01-02 2022-09-30 北京航天测控技术有限公司 故障注入方法和系统
CN111865719A (zh) * 2020-07-17 2020-10-30 苏州浪潮智能科技有限公司 一种交换机故障注入自动化测试方法和装置
CN112034296A (zh) * 2020-09-27 2020-12-04 中国商用飞机有限责任公司北京民用飞机技术研究中心 一种航电故障注入系统、方法
CN112034296B (zh) * 2020-09-27 2024-04-30 中国商用飞机有限责任公司北京民用飞机技术研究中心 一种航电故障注入系统、方法
CN112380084A (zh) * 2020-12-05 2021-02-19 中国人民解放军32181部队 一种故障注入与仿真验证方法
CN112380084B (zh) * 2020-12-05 2024-03-26 中国人民解放军32181部队 一种故障注入与仿真验证方法
CN113342693A (zh) * 2021-07-06 2021-09-03 阳光电源股份有限公司 一种测试数据的生成方法、装置、系统及控制器

Also Published As

Publication number Publication date
CN103559112B (zh) 2015-11-25

Similar Documents

Publication Publication Date Title
CN103559112B (zh) 一种软件故障注入方法及系统
CN104536856B (zh) 汽车控制器测试的环境模型生成的方法及装置
US10551807B2 (en) Method for connecting an input/output interface of a tester equipped for control unit development
CN106371813A (zh) 一种基于Simulink的电动汽车电机控制器软件生成方法
KR20100041447A (ko) 테스트 자동화 장치 및 테스트 자동화 방법
CN110442043B (zh) 卫星gnc系统实时-半物理柔性化仿真测试系统
CN104155972A (zh) 工程机械电子控制器参数调试方法
CN102522128A (zh) 一种核电站dcs系统组态逻辑设计的测试方法和系统
US10318251B1 (en) Code generation and simulation for graphical programming
CN101915877A (zh) 一种基于总线技术的通用电磁敏感度测试装置及测试方法
CN109062152A (zh) 一种基于逻辑组态产生的Loacl变量在线监控方法
CN103699122A (zh) 一种整车控制器测试平台及控制方法
CN104598373B (zh) 一种多技术融合的嵌入式软件测试方法
CN109933521A (zh) 基于bdd的自动化测试方法、装置、计算机设备及存储介质
CN104076806A (zh) 一种对汽车的电控装置进行自动化测试的方法及设备
CN104731080A (zh) 一种硬件在环仿真环境模型自动生成系统及方法
CN104732001A (zh) 电子器件的在线设计验证
CN112036023A (zh) 一种发电机变压器组保护装置软件一体化生成系统
CN109325900A (zh) 一种算法的部署方法和系统
CN112380084A (zh) 一种故障注入与仿真验证方法
CN114706768A (zh) I3c总线验证方法及验证系统
CN108984945A (zh) 基于多核心联合仿真被验证设计的仿真验证平台
CN103425055A (zh) 一种半虚拟式的控制系统功能测试装置及方法
CN103576667A (zh) 主控板的测试方法、装置及系统
CN109492269A (zh) 一种基于uvm的数字引信定时电路验证平台

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 4 / F, building 1, No.14 Jiuxianqiao Road, Chaoyang District, Beijing 100020

Patentee after: Beijing Jingwei Hengrun Technology Co.,Ltd.

Address before: 8 / F, block B, No. 11, Anxiang Beili, Chaoyang District, Beijing 100101

Patentee before: Beijing Jingwei HiRain Technologies Co.,Ltd.

CP03 Change of name, title or address
TR01 Transfer of patent right

Effective date of registration: 20230606

Address after: 100192 5th floor, Zhizhen building, 7 Zhichun Road, Haidian District, Beijing

Patentee after: BEIJING RUNKE GENERAL TECHNOLOGY Co.,Ltd.

Address before: 4 / F, building 1, No.14 Jiuxianqiao Road, Chaoyang District, Beijing 100020

Patentee before: Beijing Jingwei Hengrun Technology Co.,Ltd.

TR01 Transfer of patent right