一种指令级Linux内核瞬时故障注入方法研究(3)
时间:2015-10-21 10:19 文章来源:http://www.lunwenbuluo.com 作者:张影,杨麦顺,张兴军 点击次数:
4.3结果分析
本次实验共注入2064个故障,其中指令故障为384个,运行环境故障为1680个,下面通过3个统计表说明本次实验中故障模式对系统失效率的影响。
(1)实验中,向指令和运行环境注入故障数分别为1680和384,系统失效数及失效率统计如表2所示。由统计数据可知,指令发生故障的失效率远高于运行环境中各个寄存器发生故障的失效率。
(2)实验共定义了6种类型的故障,每种故障均向内核注入280个,系统失效数及失效率统计如表3所示。由统计数据可知,发生故障的位越多,系统的失效率越高。
(3)实验向ss,sp,cs,gs,fs,es,ds,ax,bp,di,si,dx,cx和bx等14个寄存器中注入故障,注入故障数?
均为120,系统失效数及失效率统计如表4所示。由统计数据可知,段寄存器发生故障的失效率高于通用寄存器发生故障的失效。数据寄存器的故障可能导致运行结果的错误,但是段寄存器的故障往往会造成越界、空指针等严重问题。
实验结果表明,引起的内核失效率要视具体情况而定,向指令中注入故障,系统大多数情况下会失效。向运行环境中注入故障不_定会引起系统的失效,运行环境包含了14个寄存器的内容,程序运行时没有用到注入故障的寄存器则不会引发错误,有些寄存器故障仅仅会导致结果的错误,但不会对系统的安全性造成影响,有些数据可能会直接引起系统死机。根据实验数据可知,指令故障的失效率高于寄存器故障的失效率;段寄存器故障的失效率高于通用寄存器故障的失效率;故障越严重,系统的失效率越高。
5结束语
通过对Linux内核、Kprobe机制及相关方面的研究,本文提出了IFIMK方法实现对Linux内核的故障注入,该方法是一种指令级的故障注入方法,能够将故障注入位置细化到内核的具体指令,是系统可靠性评测的_种有效手段。在该方法的基础上,本文对各种故障引起的失效率进行了统计,通过实验数据分析了故障类型、故障位置等因素对系统失效率的影响。
下一步将研究在故障注入导致系统崩溃后,如何使系统自动采集故障信息并将系统恢复到故障注入之前的状态,从而避免再次从BIOS加载内核镜像和故障注入模块,节省系统启动和模块加载的时间。
参考文献
[1]车建华,何钦铭,陈建海,等.基于软件模拟的虚拟机系统故障插入工具J.浙江大学学报:工学版,2011,45(4):614-620.
[2]吉岡弘隆,大和一洋,大岩尚宏,等.DebugHacks中文版:深入调试的技术与工具M].马晶慧,译.北京:电子工业出版社,2011.
[3]HanS,ShinKG.ExperimentalEvaluationofFailure-detectionSchemesinReal-timeCommunicationNetworks
[C]//Proceeingsofthe27thAnnualInter-lationalSymposiumonFault-tolerantComputing.WashingtonD.C./USA:IEEEPress,1997:122-431.
[4]CarreiraJ,MadeiraH,SilvaJG.Xception:ATechniquefortheExperimentalEvaluationofDependabilityinModernComputers[J].IEEETransactionsonSoftwareEngineering,1998,24(2)1125-136.
[5]SchroederB,GibsonGA.ALarge-scaleStudyofFailuresin
High-performanceComputingSystems[J].IEEETransactionsonDependableandSecureComputing,2010,7(4):337-350.
[6]徐晓露.基于故障注入的嵌入式系统测试研究[D].杭州:浙江大学,008.
[7]BarbosaR,SilvaN,DuraesJ,etal.VerificationandValidationof(RealTime)COTSProductsUsingFaultInjectionTechniques[C]//Proceedingsofthe6thInternationalIEEEConferenceonCommercial-off-the-Shelf(COTS)-basedSoftwareSystems.WashingtonD.C.,USA:IEEEPress,2007:233^42.
[8]Lopez-OngilC,EntrenaL,Garcia-ValderasM,etal.AUnifiedEnvironmentforFaultInjectionatAnyDesignLevelBasedonEmulation[J].IEEETransactionsonNuclearScience,2007,54(4):946-950.
9]BlancS,GraciaJ,GilP.AFaultHypothesisStudyonthe
TTP/CUsingVHDL-basedandPin-levelFaultInjectionTechniques[C]//Proceedingsofthe17thIEEEInternationalSymposiumonDefectandFaultToleranceinVLSISystems.WashingtonD.C.,USA:IEEEPress,2002:254462.
[10]潘庆和.软件故障注入关键技术研究[D].哈尔滨:哈尔滨工业大学,2011.
[11]王波.高端容错计算机故障注入工具的设计与实现[D].哈尔滨:哈尔滨工业大学,2011.
12]ArlatJ,AgueraM,AmatL,etal.FaultInjectionforDependabilityValidationIAMethodologyandSomeApplications[J].IEEETransactionsonSoftwareEngineering,1990,6(2):166482.
13]杨燚.Linux下的_个全新的性能测量和调式诊断工具Systemtap,第1部分:KprobeEB/OL].2014-06^8].httpI//www.ibm.com/developerworks/cn/Linux/l-cn-systemtap1/index.html.
14]陈锦富,卢炎生,谢晓东.软件错误注入测试技术研究〇].软件学报,2009,20(6):14254443.
- 论文部落提供核心期刊、国家级期刊、省级期刊、SCI期刊和EI期刊等咨询服务。
- 论文部落拥有一支经验丰富、高端专业的编辑团队,可帮助您指导各领域学术文章,您只需提出详细的论文写作要求和相关资料。
-
- 论文投稿客服QQ:
2863358778、
2316118108
-
- 论文投稿电话:15380085870
-
- 论文投稿邮箱:lunwenbuluo@126.com