Validation of Dependable Real-time Protocols : A Case for the Use of Formal Techniques

A traditional use of formal methods is for correctness checking or veriication. Given the limitations in state space coverage provided by conventional validation techniques (and the cost/time needed for testing), we introduce a novel approach to extend the use of formal veriication procedures to aid fault injection based validation of dependable and real-time protocols. A key feature in fault-injection based validation is identifying the relevant test cases to inject. This problem is exacerbated at the protocol level where the lack of detailed fault distributions limits the use of statistical approaches in deriving and estimating the number of test cases to inject. In this paper we develop mechanisms for representation of information generated through formal processes , as well as a formal framework that facilitates the formulation of speciic fault injection experiments for validation. Furthermore, we demonstrate the viability of our proposed formal fault injection approach to protocol validation, where the deductive and computational analysis capabilities of formal methods are shown to be able to identify very speciic fault injection test cases, and analytically identify equivalence classes of test cases.

[1]  P. M. Melliar-Smith,et al.  Synchronizing clocks in the presence of faults , 1985, JACM.

[2]  John P. Lehoczky,et al.  The rate monotonic scheduling algorithm: exact characterization and average case behavior , 1989, [1989] Proceedings. Real-Time Systems Symposium.

[3]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[4]  Jean Arlat,et al.  Fault Injection for Dependability Validation: A Methodology and Some Applications , 1990, IEEE Trans. Software Eng..

[5]  Chris J. Walter Evaluation and design of an ultra-reliable distributed architecture for fault tolerance , 1990 .

[6]  J. Rushby,et al.  Formal verification of algorithms for critical systems , 1991, SIGSOFT '91.

[7]  Yinong Chen,et al.  Evaluation of deterministic fault injection for fault-tolerant protocol testing , 1991, [1991] Digest of Papers. Fault-Tolerant Computing: The Twenty-First International Symposium.

[8]  Jean Arlat,et al.  Fault injection for the formal testing of fault tolerance , 1992, [1992] Digest of Papers. FTCS-22: The Twenty-Second International Symposium on Fault-Tolerant Computing.

[9]  G. B. Finelli,et al.  The Infeasibility of Quantifying the Reliability of Life-Critical Real-Time Software , 1993, IEEE Trans. Software Eng..

[10]  Neeraj Suri,et al.  Synchronization issues in real-time systems , 1994 .

[11]  K. Echtle,et al.  Test of fault tolerant distributed systems by fault injection , 1994, Proceedings of IEEE Workshop on Fault-Tolerant Parallel and Distributed Systems.

[12]  Wei Wang,et al.  The impact of fault expansion on the interval estimate for fault detection coverage , 1994, Proceedings of IEEE 24th International Symposium on Fault- Tolerant Computing.

[13]  J-C. Laprie,et al.  DEPENDABLE COMPUTING AND FAULT TOLERANCE : CONCEPTS AND TERMINOLOGY , 1995, Twenty-Fifth International Symposium on Fault-Tolerant Computing, 1995, ' Highlights from Twenty-Five Years'..

[14]  Natarajan Shankar,et al.  Formal Verification for Fault-Tolerant Architectures: Prolegomena to the Design of PVS , 1995, IEEE Trans. Software Eng..

[15]  Jean Arlat,et al.  Fault injection for formal testing of fault tolerance , 1996, IEEE Trans. Reliab..

[16]  Ravishankar K. Iyer,et al.  Experimental analysis of computer system dependability , 1996 .

[17]  Dino Mandrioli,et al.  Formal Methods for Real-Time Computing , 1996 .

[18]  Jörgen Christmansson,et al.  Error injection aimed at fault removal in fault tolerance mechanisms-criteria for error selection using field data on software faults , 1996, Proceedings of ISSRE '96: 7th International Symposium on Software Reliability Engineering.

[19]  Douglas M. Blough,et al.  Fault-injection-based testing of fault-tolerant algorithms in message-passing parallel computers , 1997, Proceedings of IEEE 27th International Symposium on Fault Tolerant Computing.

[20]  Hong Zhao,et al.  Path-Based Fault Injection , 1997 .

[21]  Patrick Lincoln,et al.  Formally Veri ed On Line Diagnosis , 1997 .

[22]  Ravishankar K. Iyer,et al.  DEPEND: A Simulation-Based Environment for System Level Dependability Analysis , 1997, IEEE Trans. Computers.

[23]  Miroslaw Malek,et al.  Minimum Achievable Utilization for Fault-Tolerant Processing of Periodic Tasks , 1998, IEEE Trans. Computers.

[24]  Neeraj Suri,et al.  On the use of formal techniques for validation , 1998, Digest of Papers. Twenty-Eighth Annual International Symposium on Fault-Tolerant Computing (Cat. No.98CB36224).

[25]  Yves Crouzet,et al.  MEFISTO-L: a VHDL-based fault injection tool for the experimental assessment of fault tolerance , 1998, Digest of Papers. Twenty-Eighth Annual International Symposium on Fault-Tolerant Computing (Cat. No.98CB36224).

[26]  Neeraj Suri,et al.  Identification of test cases using a formal approach , 1999, Digest of Papers. Twenty-Ninth Annual International Symposium on Fault-Tolerant Computing (Cat. No.99CB36352).

[27]  Rami G. Melhem,et al.  Fault-Tolerant Rate-Monotonic Scheduling , 1998, Real-Time Systems.