Emulation of Software Faults: A Field Data Study and a Practical Approach
Top Cited Papers
- 20 November 2006
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Software Engineering
- Vol. 32 (11) , 849-867
Abstract
The injection of faults has been widely used to evaluate fault tolerance mechanisms and to assess the impact of faults in computer systems. However, the injection of software faults is not as well understood as other classes of faults (e.g., hardware faults). In this paper, we analyze how software faults can be injected (emulated) in a source-code independent manner. We specifically address important emulation requirements such as fault representativeness and emulation accuracy. We start with the analysis of an extensive collection of real software faults. We observed that a large percentage of faults falls into well-defined classes and can be characterized in a very precise way, allowing accurate emulation of software faults through a small set of emulation operators. A new software fault injection technique (G-SWFIT) based on emulation operators derived from the field study is proposed. This technique consists of finding key programming structures at the machine code-level where high-level software faults can be emulated. The fault-emulation accuracy of this technique is shown. This work also includes a study on the key aspects that may impact the technique accuracy. The portability of the technique is also discussed and it is shown that a high degree of portability can be achievedKeywords
This publication has 37 references indexed in Scilit:
- Definition of software fault emulation operators: a field data study2004
- Generic faultloads based on software faults for dependability benchmarking2004
- Characterization of operating systems behavior in the presence of faulty drivers through software fault emulation2003
- Emulation of software faults by educated mutations at machine-code level2003
- A comparison of software defects in database management systems and operating systems2003
- Fault-injection-based testing of fault-tolerant algorithms in message-passing parallel computers2002
- Joint evaluation of performance and robustness of a COTS DBMS through fault-injection2002
- Orthogonal defect classification-a concept for in-process measurementsIEEE Transactions on Software Engineering, 1992
- A census of Tandem system availability between 1985 and 1990IEEE Transactions on Reliability, 1990
- Hints on Test Data Selection: Help for the Practicing ProgrammerComputer, 1978