Fault injection deals with the insertion or simulation of faults in order to test the robustness and fault tolerance of a software application. Such measures are generally performed on software that is mission critical, to the extent that failure could have significant negative ramifications. Actual injection of faults can be performed either at compile time, when additional code is inserted to force error conditions to evaluate to true, or at runtime during which faults are injected into the software's execution environment. This paper focuses on the latter type of fault injection and presents a new mechanism for inserting environmental faults. In addition, insight is provided into fault selection based on an analysis of runtime behavior. This paper presents a methodology and tool for performing runtime fault injection, both of which are demonstrated on a commercial software product.
Whittaker, J.A., Mottay, F.E., El-Far, I.K.(2001). Testing exception and error cases using runtime fault injection (CS-2001-07). Melbourne, FL. Florida Institute of Technology.