upported by the National Natural Science Foundation of China,the National Science Fund for Distinguished Young Scholars of China under Grant No.60621003(国家自然科学基金创新研究群体)
Error Flow Model: Modeling and Analysis of Software Propagating Hardware Faults
Neither reliability models in reliability engineering nor in software reliability can be directly applied to describe the propagation of hardware errors in programs. This paper first sets up a computational data flow model, and then explains that a computational data flow graph for the program can be built, using the instruction set of URM (unlimited register machine) as an example. Upon the computational data flow model, the error flow model is set up. Errors are categorized into two kinds: Original errors and propagated errors. By analyzing the propagation rules of these two kinds of errors, 6 assumptions about error propagation are given, upon which the probabilities of errors at any time and at any place in a program can be calculated. At last, a sample of URM program is given to demonstrate the capability of the fault flow model.
[1]Liu P.Reliability Engineering Principles.Revised ed.,Beijing:Measurements Press,2002 (in Chinese).
[2]Xu RZ,Xie M,Zheng RJ.Software Reliability Models and Applications.Beijing:Tsinghua University Press,1994 (in Chinese).
[3]Tian J.Integrating time domain and input domain analyses of software reliability using tree-based models.IEEE Trans.on Software Engineering,1995,21(12):945-958.
[4]Huang CY,Lyu MR.A unified scheme of some nonhomogenous poisson process models for software reliability estimation.IEEE Trans.on Software Engineering,2003,29(3):261-269.
[5]Clark JA,Pradhan DK.Fault injection:A method for validating computer-system dependability.IEEE Computer,1995,28(6):47-56.
[6]Avizienis A.Toward systematic design of fault-tolerant systems.IEEE Computer,1997,30(4):51-58.
[7]Cheynet P,Nicolescu B,Velazco R,Rebaudengo M,Reorda MS,Violante M.Experimentally evaluating an automatic approach for generating safety-critical software with respect to transient errors.IEEE Trans.on Nuclear Science,2000,47(6):2231-2236.
[8]Ziegler JF.IBM experiments in soft fails in computer electronics (1978-1994).IBM Journal of Research and Development,1996,40(1):3-18.
[9]Avizeinis A.The n-version approach to fault-tolerant software.IEEE Trans.on Software Engineering,1985,SE-11(12):1491-1501.
[10]Randell B.System structure for software fault tolerance.IEEE Trans.on Software Engineering,1975,SE-1(2):220-223.
[18]Chen HW,Qian JH,Sun YQ.Principles of Compilers.2nd ed.,Beijing:Press of Defense Industry,1999 (in Chinese).
[19]Cliff Y,Michael DS.Static correlated branch prediction.ACM Trans.on Programming Languages and Systems,1999,21(5):1028-1075.
[20]Wu Y,Larus JR.Static branch frequency and program profile analysis.In:Proc.of the 27th Annual Int'l Symp.on Microarchitecture.New York:ACM Press,1994.1-11.http://portal.acm.org/citation.cfm?id=192725&dl=ACM&coll=portal
[21]Jason RC,Patterson DA.Accurate static branch prediction by value range propagation.In:Proc.of the ACM SIGPLAN 1995 Conf.on Programming Language Design and Implementation.New York:ACM Press,1995.67-78.http://portal.acm.org/citation.cfm-id=223428.207117
[22]Yang DP,Li AS.Computing Theories.Beijing:Science Press,1999 (in Chinese).
[1]刘品.可靠性工程基础.修订版.北京:计量出版社,2002.