a formal approach for specification and verification of fault injection process
Fault injection is a powerful strategy to test security protocols and fault-tolerant systems. The first step in building a complete fault injection process is the specification of a fault scenario for the test experiment. This includes the specification of the fault injector location and the type and time of injected faults. However, the existing fault description languages are often non-formal and/or tool-specific, which leads to many specification ambiguities. To address this problem, we propose a high level fault injection formalism based on Hoare logic rules. We describe fault injection operations as Hoare triples extended with primitives to express the timing of actions. This allows us to specify various types of faults and thus, makes the proposed formalism suitable for most communication systems, including protocols and distributed applications. This paper also presents a passive testing approach based on the proposed formalism to check fault injection process and outlines a case study on Web services for illustration.
fault injection formal methods trace analysis security testing time specification fault specification