Issue No. 11 - November (1999 vol. 48)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/12.811108
<p><b>Abstract</b>—The objective of fault injection is to mimic the existence of faults and to force the exercise of the fault tolerance mechanisms of the target system. To maximize the efficacy of each injection, the locations, timing, and conditions for faults being injected must be carefully chosen. Faults should be injected with a high probability of being accessed. This paper presents two fault injection methodologies—stress-based injection and path-based injection; both are based on resource activity analysis to ensure that injections cause fault tolerance activity and, thus, the resulting exercise of fault tolerance mechanisms. The difference between these two methods is that stress-based injection validates the system dependability by monitoring the run-time workload activity at the system level to select faults that coincide with the locations and times of greatest workload activity, while path-based injection validates the system from the application perspective by using an analysis of the program flow and resource usage at the application program level to select faults during the program execution. These two injection methodologies focus separately on the system and process viewpoints to facilitate the testing of system dependability. Details of these two injection methodologies are discussed in this paper, along with their implementations, experimental results, and advantages and disadvantages.</p>
Fault injection, stress-based, path-based, workload, program flow, fault tolerance, dependability.
Timothy K. Tsai, Hong Zhao, Mei-Chen Hsueh, Ravishankar K. Iyer, Zbigniew Kalbarczyk, "Stress-Based and Path-Based Fault Injection", IEEE Transactions on Computers, vol. 48, no. , pp. 1183-1201, November 1999, doi:10.1109/12.811108