CN101334754A - 基于故障注入的嵌入式系统测评方法 - Google Patents
基于故障注入的嵌入式系统测评方法 Download PDFInfo
- Publication number
- CN101334754A CN101334754A CNA2008100634459A CN200810063445A CN101334754A CN 101334754 A CN101334754 A CN 101334754A CN A2008100634459 A CNA2008100634459 A CN A2008100634459A CN 200810063445 A CN200810063445 A CN 200810063445A CN 101334754 A CN101334754 A CN 101334754A
- Authority
- CN
- China
- Prior art keywords
- fault injection
- interface
- fault
- failure
- performance
- 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.)
- Pending
Links
- 238000002347 injection Methods 0.000 title claims abstract description 38
- 239000007924 injection Substances 0.000 title claims abstract description 38
- 238000011156 evaluation Methods 0.000 title claims abstract description 6
- 230000002159 abnormal effect Effects 0.000 claims abstract description 17
- 238000000034 method Methods 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 3
- 238000012360 testing method Methods 0.000 abstract description 19
- 230000005856 abnormality Effects 0.000 abstract description 4
- 238000010998 test method Methods 0.000 abstract description 2
- 238000013522 software testing Methods 0.000 description 6
- 230000003111 delayed effect Effects 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000000414 obstructive effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000000725 suspension Substances 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 235000000332 black box Nutrition 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于故障注入的嵌入式系统测评方法。根据嵌入式系统平台分层模型,利用硬件接口和操作系统接口实现故障注入;故障注入后,定性分析系统在异常状况下的表现情况,采用从系统失效和任务失效两个方面来测评系统表现。利用嵌入式平台接口实施故障注入,从而有效地模拟硬件故障,操作系统层故障以及应用层故障。故障注入后,通过观测被测平台在一些故障条件下的失效表现,从而测评系统容错能力和应对异常能力,并有助于对失效表现进行故障预测。将这种测试方法用于嵌入式系统测试,可以有效地模拟现实中的故障,分析系统失效表现,测评系统可靠性。
Description
技术领域
本发明涉及嵌入式系统平台测试领域,特别是涉及一种基于故障注入的嵌入式系统测评方法。
背景技术
软件测试是提高软件可靠性和保障软件质量的重要手段。传统的软件测试方法有黑盒测试、白盒测试以及灰盒测试等。在这些传统的软件测试技术中,由于被测程序的复杂性以及测试环境相关原因,我们往往很难测试程序的所有分支。而且对于有容错功能的软件的异常处理和故障恢复代码的测试尤其困难,使得这些代码中可能包含软件故障,反而成为软件质量的隐患。嵌入式系统软件的测试与通用软件测试既有相同点也有所不同,嵌入式软件测试由于其自身的特点,使得嵌入式软件的开发和测试与一般的软件开发和测试策略有很大的不同。
故障注入是一种有效的用于容错计算机系统验证的技术,也是一种通过试验来测评容错机制,验证系统应对异常能力,从而提高系统可靠性的有效办法。进行故障注入试验,首先应当确定故障注入实验的输入域和输出域。故障注入方法有硬件故障注入和软件故障注入两种。软件实现的故障注入提供了廉价和易于控制的故障注入方法,无需额外的硬件设备,可以在程序指令能够访问到的硬件或软件上选择故障注入位置。作为近年来新兴实验技术手段,软件的故障注入方法有着代价低、灵活度高、具有可再现性等优点成为被广泛采用。
发明内容
本发明的目的在于提供一种基于故障注入的嵌入式系统测评方法。重点观察被测对象在异常条件和无效参数下的表现情况。
本发明解决其技术问题采用的技术方案如下:
1)根据嵌入式系统平台分层模型,利用硬件接口和操作系统接口实现故障注入,注入方式有两种:
(1)改变系统内部状态,通过程序调用接口对访问系统内部参数变量的修改,从而注入故障;
(2)修改接口参数,是通过设置接口的异常参数和设置接口的内部函数的异常参数这两种方式;其中内部函数指外部接口所调用的函数,异常参数包括无效参数或非法参数;
2)故障注入后,定性分析系统在异常状况下的表现情况,采用从系统失效和任务失效两个方面来测评系统表现。
采用改变系统内部状态的故障注入方式,为CPU、存储设备和网络设备的故障都能通过改变存储元素的值来得到测评。
本发明与背景技术相比,具有的有益的效果是:
利用嵌入式平台接口实施故障注入,从而有效地模拟硬件故障,操作系统层故障以及应用层故障。故障注入后,通过观测被测平台在一些故障条件下的失效表现,从而测评系统容错能力和应对异常能力,并有助于对失效表现进行故障预测。将这种测试方法用于嵌入式系统测试,可以有效地模拟现实中的故障,分析系统失效表现,测评系统可靠性。
具体实施方式
本发明提出的这种基于故障注入的嵌入式系统测评方法主要按如下步骤进行:
1.确定要注入的故障模型:
该步骤定义对待测容错机制的输入,并将生成的模型传递给执行注入步骤,故障模型的属性包括故障类型、发生时刻、持续期、位置等。
2.执行故障注入:
该步骤接收“选择故障模型”步骤中生成的故障模型并将该模型转换为可应用于故障注入的故障形式。根据故障形式,采用改变系统内部状态或者修改接口参数这两种方法注入故障。改变系统内部状态是通过程序调用接口对访问系统内部参数变量的修改,从而注入故障;修改接口参数是通过设置接口的异常参数和设置接口的内部函数的异常参数这两种方式。
3.监视系统行为并分析试验结果:
关注系统或者任务的不同失效表现,将系统失效分成灾难性崩溃、重启崩溃、异常中断崩溃、沉寂崩溃、阻碍性崩溃五种表现,任务失效分成任务停顿、任务暂停、延迟输出和无效输出四种表现,分别记录各种失效次数,分析各种失效表现的故障源。
其中系统失效的五种失效表现如下:
(1)灾难性崩溃:指这种失效能引起整个系统停止工作,要求机器重启;
(2)重启崩溃:由监视器定时程序检测到的崩溃;
(3)异常中断崩溃:是指测试进程不正常的中断;
(4)沉寂崩溃:指当执行非法输入时,本应返回相应的错误处理代码,结果却没有指示;
(5)阻碍性崩溃:指虽然返回了错误处理代码,但错误处理代码与相应的非法数据输入并不符合。
任务失效的四种失效表现如下:
(1)任务停顿:崩溃,或任务被停止处理;
(2)任务暂停:错误导致任务停止有效处理;
(3)延迟输出:发生在软件故障导致任务需要的输出超过可接受的时间范围;
(4)无效输出:软件故障导致任务释放错误输出。
本发明已在自主开发的基于Blackfin的嵌入式系统平台上进行试验。试验中采用如下故障模型:
故障类型分为硬件故障、通信故障和软件故障三种。硬件故障为内存故障、寄存器故障、总线故障以及NAND Flash故障,通信故障主要为网络故障,软件故障分为驱动故障和应用层故障。故障注入点主要为硬件接口、OS接口以及应用层的高层注入。
接着观察系统在上述故障模型下的失效表现,说明这种结果测评方法。
故障类型 | 失效表现 | 失效率% |
内存故障 | 灾难性崩溃、异常中断崩溃 | 26.7 |
寄存器故障 | 灾难性崩溃 | 85.7 |
总线故障 | 异常中断崩溃、重启崩溃、延迟输出 | 80 |
NAND Flash故障 | 无失效表现 | 0 |
网络故障 | 延迟输出 | 16.7 |
驱动故障 | 重启崩溃、异常中断崩溃 | 68.6 |
应用程序故障 | 重启崩溃、异常中断崩溃、无效输出 | 20.5 |
其中失效率计算方法为:失效率=失效次数/故障注入次数
试验结果表明,试验中用的嵌入式平台能有效地模拟并加速硬件故障,操作系统层故障以及应用层故障。故障注入后,通过失效表现和失效率来测评系统容错能力和应对异常能力,并对失效表现进行故障预测。
Claims (2)
1.一种基于故障注入的嵌入式系统测评方法,其特征在于:
1)根据嵌入式系统平台分层模型,利用硬件接口和操作系统接口实现故障注入,注入方式有两种:
(1)改变系统内部状态,通过程序调用接口对访问系统内部参数变量的修改,从而注入故障;
(2)修改接口参数,是通过设置接口的异常参数和设置接口的内部函数的异常参数这两种方式;其中内部函数指外部接口所调用的函数,异常参数包括无效参数或非法参数;
2)故障注入后,定性分析系统在异常状况下的表现情况,采用从系统失效和任务失效两个方面来测评系统表现。
2.根据权利要求1所述的基于故障注入的嵌入式系统测评方法,其特征在于:采用改变系统内部状态的故障注入方式,为CPU、存储设备和网络设备的故障都能通过改变存储元素的值来得到测评。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008100634459A CN101334754A (zh) | 2008-08-05 | 2008-08-05 | 基于故障注入的嵌入式系统测评方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008100634459A CN101334754A (zh) | 2008-08-05 | 2008-08-05 | 基于故障注入的嵌入式系统测评方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101334754A true CN101334754A (zh) | 2008-12-31 |
Family
ID=40197363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008100634459A Pending CN101334754A (zh) | 2008-08-05 | 2008-08-05 | 基于故障注入的嵌入式系统测评方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101334754A (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101901186A (zh) * | 2010-07-08 | 2010-12-01 | 西北工业大学 | 一种嵌入式系统可靠性分析与评估方法 |
CN102135920A (zh) * | 2011-01-17 | 2011-07-27 | 中国航天科技集团公司第九研究院第七七一研究所 | 嵌入式星载计算机故障注入系统及其注入方法 |
CN102412909A (zh) * | 2010-09-26 | 2012-04-11 | 北京旋极信息技术股份有限公司 | 一种故障注入设备 |
CN102541737A (zh) * | 2011-11-30 | 2012-07-04 | 北京航空航天大学 | 一种嵌入式软件可靠性测试缺陷注入与控制方法 |
CN102571498A (zh) * | 2012-02-09 | 2012-07-11 | 华为技术有限公司 | 故障注入控制方法和装置 |
CN102768642A (zh) * | 2012-06-25 | 2012-11-07 | 浪潮电子信息产业股份有限公司 | 一种基于源码分析的linux内核可靠性评测系统及其方法 |
CN103019921A (zh) * | 2011-09-20 | 2013-04-03 | 中国人民解放军63928部队 | 一种基于故障注入的操作系统容错性测试系统及其方法 |
CN101770417B (zh) * | 2010-01-15 | 2013-04-10 | 哈尔滨工业大学 | 基于jtag的硬件故障注入系统及故障注入方法 |
CN103328992A (zh) * | 2010-12-20 | 2013-09-25 | 迪尔公司 | 用于诊断网络中的故障或开路的方法和系统 |
CN103529820A (zh) * | 2013-09-26 | 2014-01-22 | 北京航天自动控制研究所 | 一种适用于嵌入式设备的故障注入测试系统及测试方法 |
CN103580940A (zh) * | 2012-07-31 | 2014-02-12 | 北京旋极信息技术股份有限公司 | 一种获取性能信息的方法和系统 |
CN105528284A (zh) * | 2014-09-28 | 2016-04-27 | 华为技术有限公司 | 一种内核故障注入方法及电子设备 |
CN106294036A (zh) * | 2015-05-21 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 一种硬件故障验证方法、装置及客户端 |
CN107480040A (zh) * | 2016-06-08 | 2017-12-15 | 阿里巴巴集团控股有限公司 | 工作流稳定性测试方法及设备 |
CN107608829A (zh) * | 2017-09-26 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种验证服务器是否存在硬件丢失的方法 |
CN109271306A (zh) * | 2018-09-30 | 2019-01-25 | 深圳中广核工程设计有限公司 | 基于故障注入的寿命试验方法、装置、设备及介质 |
CN110704314A (zh) * | 2019-09-26 | 2020-01-17 | 天津津航计算技术研究所 | 一种嵌入式软件测试的故障注入方法 |
CN110728802A (zh) * | 2019-10-23 | 2020-01-24 | 深圳市丰巢科技有限公司 | 智能柜的巡检方法、装置、智能柜及存储介质 |
CN110868337A (zh) * | 2019-11-15 | 2020-03-06 | 腾讯科技(深圳)有限公司 | 容错共识机制测试方法、装置、存储介质和计算机设备 |
CN111382431A (zh) * | 2018-12-28 | 2020-07-07 | 意法半导体(鲁塞)公司 | 保护电路 |
-
2008
- 2008-08-05 CN CNA2008100634459A patent/CN101334754A/zh active Pending
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770417B (zh) * | 2010-01-15 | 2013-04-10 | 哈尔滨工业大学 | 基于jtag的硬件故障注入系统及故障注入方法 |
CN101901186A (zh) * | 2010-07-08 | 2010-12-01 | 西北工业大学 | 一种嵌入式系统可靠性分析与评估方法 |
CN101901186B (zh) * | 2010-07-08 | 2012-06-06 | 西北工业大学 | 一种嵌入式系统可靠性分析与评估方法 |
CN102412909A (zh) * | 2010-09-26 | 2012-04-11 | 北京旋极信息技术股份有限公司 | 一种故障注入设备 |
CN103328992B (zh) * | 2010-12-20 | 2016-01-20 | 迪尔公司 | 用于诊断网络中的故障或开路的方法和系统 |
CN103328992A (zh) * | 2010-12-20 | 2013-09-25 | 迪尔公司 | 用于诊断网络中的故障或开路的方法和系统 |
CN102135920A (zh) * | 2011-01-17 | 2011-07-27 | 中国航天科技集团公司第九研究院第七七一研究所 | 嵌入式星载计算机故障注入系统及其注入方法 |
CN103019921A (zh) * | 2011-09-20 | 2013-04-03 | 中国人民解放军63928部队 | 一种基于故障注入的操作系统容错性测试系统及其方法 |
CN103019921B (zh) * | 2011-09-20 | 2015-04-15 | 中国人民解放军63928部队 | 一种基于故障注入的操作系统容错性测试系统及其方法 |
CN102541737A (zh) * | 2011-11-30 | 2012-07-04 | 北京航空航天大学 | 一种嵌入式软件可靠性测试缺陷注入与控制方法 |
CN102541737B (zh) * | 2011-11-30 | 2014-07-23 | 北京航空航天大学 | 一种嵌入式软件可靠性测试缺陷注入与控制方法 |
CN102571498A (zh) * | 2012-02-09 | 2012-07-11 | 华为技术有限公司 | 故障注入控制方法和装置 |
CN102571498B (zh) * | 2012-02-09 | 2016-03-09 | 华为技术有限公司 | 故障注入控制方法和装置 |
CN102768642B (zh) * | 2012-06-25 | 2016-08-03 | 浪潮电子信息产业股份有限公司 | 一种基于源码分析的linux内核可靠性评测系统及其方法 |
CN102768642A (zh) * | 2012-06-25 | 2012-11-07 | 浪潮电子信息产业股份有限公司 | 一种基于源码分析的linux内核可靠性评测系统及其方法 |
CN103580940B (zh) * | 2012-07-31 | 2016-08-17 | 北京旋极信息技术股份有限公司 | 一种获取性能信息的方法和系统 |
CN103580940A (zh) * | 2012-07-31 | 2014-02-12 | 北京旋极信息技术股份有限公司 | 一种获取性能信息的方法和系统 |
CN103529820B (zh) * | 2013-09-26 | 2016-02-10 | 北京航天自动控制研究所 | 一种适用于嵌入式设备的故障注入测试系统及测试方法 |
CN103529820A (zh) * | 2013-09-26 | 2014-01-22 | 北京航天自动控制研究所 | 一种适用于嵌入式设备的故障注入测试系统及测试方法 |
CN105528284B (zh) * | 2014-09-28 | 2018-09-28 | 华为技术有限公司 | 一种内核故障注入方法及电子设备 |
CN105528284A (zh) * | 2014-09-28 | 2016-04-27 | 华为技术有限公司 | 一种内核故障注入方法及电子设备 |
CN106294036A (zh) * | 2015-05-21 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 一种硬件故障验证方法、装置及客户端 |
CN107480040A (zh) * | 2016-06-08 | 2017-12-15 | 阿里巴巴集团控股有限公司 | 工作流稳定性测试方法及设备 |
CN107608829A (zh) * | 2017-09-26 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种验证服务器是否存在硬件丢失的方法 |
CN109271306A (zh) * | 2018-09-30 | 2019-01-25 | 深圳中广核工程设计有限公司 | 基于故障注入的寿命试验方法、装置、设备及介质 |
CN111382431A (zh) * | 2018-12-28 | 2020-07-07 | 意法半导体(鲁塞)公司 | 保护电路 |
CN110704314A (zh) * | 2019-09-26 | 2020-01-17 | 天津津航计算技术研究所 | 一种嵌入式软件测试的故障注入方法 |
CN110704314B (zh) * | 2019-09-26 | 2023-03-10 | 天津津航计算技术研究所 | 一种嵌入式软件测试的故障注入方法 |
CN110728802A (zh) * | 2019-10-23 | 2020-01-24 | 深圳市丰巢科技有限公司 | 智能柜的巡检方法、装置、智能柜及存储介质 |
CN110868337A (zh) * | 2019-11-15 | 2020-03-06 | 腾讯科技(深圳)有限公司 | 容错共识机制测试方法、装置、存储介质和计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101334754A (zh) | 基于故障注入的嵌入式系统测评方法 | |
CN104657247B (zh) | 基于jtag调试方式实现通用型故障注入系统和故障注入方法 | |
Taylor et al. | Functional verification of a multiple-issue, out-of-order, superscalar Alpha processor—the DEC Alpha 21264 microprocessor | |
US12204825B2 (en) | Function safety and fault management modeling at electrical system level (ESL) | |
Cotroneo et al. | Fault injection for software certification | |
Rana et al. | Increasing efficiency of iso 26262 verification and validation by combining fault injection and mutation testing with model based development | |
US20140019806A1 (en) | Classifying processor testcases | |
US11036604B2 (en) | Parallel fault simulator with back propagation enhancement | |
US20130174108A1 (en) | Automated stimulus steering during simulation of an integrated circuit design | |
US10775430B2 (en) | Fault campaign in mixed signal environment | |
US10698805B1 (en) | Method and system for profiling performance of a system on chip | |
Hari et al. | SASSIFI: Evaluating resilience of GPU applications | |
Lin et al. | A structured approach to post-silicon validation and debug using symbolic quick error detection | |
US9792402B1 (en) | Method and system for debugging a system on chip under test | |
US20160125105A1 (en) | Automatic Generation of Properties to Assist Hardware Emulation | |
US20170161403A1 (en) | Assertion statement check and debug | |
CN107025171A (zh) | 一种实现虚拟验证系统故障注入的方法 | |
TW201017459A (en) | Method and apparatus for debugging an electronic system design (ESD) prototype | |
Kaja et al. | Extending verilator to enable fault simulation | |
CN111400997A (zh) | 一种基于同步执行的处理器核验证方法、系统及介质 | |
Fidalgo et al. | Real Time Fault Injection Using Enhanced OCD--A Performance Analysis | |
US10796047B2 (en) | Functional safety synthesis | |
CN107247663A (zh) | 一种冗余变异体识别方法 | |
Fidalgo et al. | Using NEXUS compliant debuggers for real time fault injection on microprocessors | |
Angione et al. | A guided debugger-based fault injection methodology for assessing functional test programs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20081231 |