ORCHESTRA: a probing and fault injection environment for testing protocol implementations

S. Dawson, F. Jahanian, T. Mitton
Proceedings of IEEE International Computer Performance and Dependability Symposium  
Ensuring that a distributed system meets its prescribed specification is a growing challenge that confronts software developers and system engineers. Meeting this challenge is particularly important for applications with strict dependability and/or timeliness constraints. We have developed a software fault injection tool, called ORCHESTRA, for testing dependability and timing properties of distributed protocols. ORCHESTRA is based on a simple yet powerful framework, called scri#driven probing
more » ... d fault injection. The emphasis of this approach is on experimental techniques intended to identify specific "problems" in a protocol or its implementation rather than the evaluation of system dependability through statistical metrics such as fault coverage. Hence, the focus is on developing fault injection techniques that can be employed in studying three aspects of a target protocol: i) detecting design or implementation errors, ii) identifying violations of protocol specifications, and iii) obtaining insights into the design decisions made by the implementors. Script-driven probing and fault injection views a distributed protocol as an abstraction through which a collection of participants communicate by exchanging a set of messages. Each protocol is specified as a layer in the protocol stack such that each layer, from the device-level to the application-level protocol, provides an abstract communication service to higher layers. In our approach, a probe/fault injection (PF1) layer is inserted between any two consecutive layers in a protocol stack. The PFI layer can execute deterministic or randomly-generated test scripts to
doi:10.1109/ipds.1996.540200 fatcat:nmpih7wsjnes5m6mx6ore6qavu