高级检索
胡嘉伟, 江建慧. 一种面向软件可靠性评估的故障注入机制的设计与实现[J]. 计算机辅助设计与图形学学报, 2012, 24(6): 741-751.
引用本文: 胡嘉伟, 江建慧. 一种面向软件可靠性评估的故障注入机制的设计与实现[J]. 计算机辅助设计与图形学学报, 2012, 24(6): 741-751.
Hu Jiawei, Jiang Jianhui. Design and Implementation of a Fault Injection Mechanism for Software Reliability Evaluation[J]. Journal of Computer-Aided Design & Computer Graphics, 2012, 24(6): 741-751.
Citation: Hu Jiawei, Jiang Jianhui. Design and Implementation of a Fault Injection Mechanism for Software Reliability Evaluation[J]. Journal of Computer-Aided Design & Computer Graphics, 2012, 24(6): 741-751.

一种面向软件可靠性评估的故障注入机制的设计与实现

Design and Implementation of a Fault Injection Mechanism for Software Reliability Evaluation

  • 摘要: 为了获取更加全面的程序失效数据以提高软件可靠性评估的准确性,提出一种面向软件可靠性评估的故障注入机制.该机制在生成故障注入方案时充分考虑了程序故障类型分布、故障空间分布、故障发生时间分布及程序输入等因素,从而能够合理地反映程序真实的失效情况.实现了故障注入方案生成器,并集成到自行开发的基于Intel PIN框架的动态软件故障注入工具软件中.为了验证所提出的故障注入机制的合理性和有效性,以TINY语言编译器、LZ77压缩程序、CRC32程序为例,分别通过测试和故障注入实验的方式收集了相应的失效数据,然后用Jelinski-Moranda模型计算得到了2组很接近的可靠性指标值.实验结果表明,基于故障注入的软件可靠性评估方法的有效性和合理性不亚于传统的基于测试的方法,故障注入方法更适用于较大规模程序的可靠性评估,采用指数分布的故障发生时间分布假设更能反映程序真实失效情况.

     

    Abstract: To improve the accuracy of the software reliability evaluation,more failure data of programs under evaluation are needed.This paper presents a fault injection mechanism for software reliability evaluation.The program fault type distribution,fault location distribution,fault occurring time distribution and inputs of the program are considered during the fault injection scheme generation.Therefore,the proposed mechanism can reasonably emulate the program failure.A fault injection scheme generator is implemented and integrated into an in-house PIN-based dynamic software fault injection system.The TINY compiler,LZ77 and CRC32 programs are chosen as target applications to verify the efficiency and reasonability of the proposed fault injection mechanism.Two groups of failure data are collected by testing and fault injection,respectively,and the Jelinski-Moranda model is used to get two sets of reliability attributes.The experimental results show that the fault injection based software reliability evaluation method is at least as efficient and reasonable as the conventional test based methods.It is more suitable for large scale programs,and the exponential distribution assumption is better for fault occurring time distribution.

     

/

返回文章
返回