Orthogonal Defect Classification-A Concept for In-Process Measurements
IEEE Transactions on Software Engineering - Special issue on software measurement principles, techniques, and environments
In-Process Evaluation for Software Inspection and Test
IEEE Transactions on Software Engineering - Special issue on software reliability
Software error analysis: a real case study involving real faults and mutations
ISSTA '96 Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysis
Handbook of software reliability engineering
Handbook of software reliability engineering
Orthogonal defect classification
Handbook of software reliability engineering
Software fault injection: inoculating programs against errors
Software fault injection: inoculating programs against errors
Predicting How Badly "Good" Software Can Behave
IEEE Software
Fault Injection and Dependability Evaluation of Fault-Tolerant Systems
IEEE Transactions on Computers
Software Dependability in the Tandem GUARDIAN System
IEEE Transactions on Software Engineering
Process Measures for Predicting Software Quality
HASE '97 Proceedings of the 2nd High-Assurance Systems Engineering Workshop
Joint Evaluation of Performance and Robustness of a COTS DBMS through Fault-Injection
DSN '00 Proceedings of the 2000 International Conference on Dependable Systems and Networks (formerly FTCS-30 and DCCA-8)
GOOFI: Generic Object-Oriented Fault Injection Tool
DSN '01 Proceedings of the 2001 International Conference on Dependable Systems and Networks (formerly: FTCS)
Assessment of COTS Microkernels by Fault Injection
DCCA '99 Proceedings of the conference on Dependable Computing for Critical Applications
Generation of an error set that emulates software faults based on field data
FTCS '96 Proceedings of the The Twenty-Sixth Annual International Symposium on Fault-Tolerant Computing (FTCS '96)
An approach towards benchmarking of fault-tolerant commercial systems
FTCS '96 Proceedings of the The Twenty-Sixth Annual International Symposium on Fault-Tolerant Computing (FTCS '96)
Fault-Injection-Based Testing Of Fault-Tolerant Algorithms In Message-Passing Parallel Computers
FTCS '97 Proceedings of the 27th International Symposium on Fault-Tolerant Computing (FTCS '97)
The Systematic Improvement of Fault Tolerance in the Rio File Cache
FTCS '99 Proceedings of the Twenty-Ninth Annual International Symposium on Fault-Tolerant Computing
PRDC '02 Proceedings of the 2002 Pacific Rim International Symposium on Dependable Computing
Comparing Operating Systems Using Robustness Benchmarks
SRDS '97 Proceedings of the 16th Symposium on Reliable Distributed Systems
Failure Data Analysis of a LAN of Windows NT Based Computers
SRDS '99 Proceedings of the 18th IEEE Symposium on Reliable Distributed Systems
ISSRE '96 Proceedings of the The Seventh International Symposium on Software Reliability Engineering
Using fault injection to increase software test coverage
ISSRE '96 Proceedings of the The Seventh International Symposium on Software Reliability Engineering
Comparing disk and memory's resistance to operating system crashes
ISSRE '96 Proceedings of the The Seventh International Symposium on Software Reliability Engineering
Emulation of Software Faults by Educated Mutations at Machine-Code Level
ISSRE '02 Proceedings of the 13th International Symposium on Software Reliability Engineering
Generic Faultloads Based on Software Faults for Dependability Benchmarking
DSN '04 Proceedings of the 2004 International Conference on Dependable Systems and Networks
Towards availability benchmarks: a case study of software raid systems
ATEC '00 Proceedings of the annual conference on USENIX Annual Technical Conference
A dependability benchmark for OLTP application environments
VLDB '03 Proceedings of the 29th international conference on Very large data bases - Volume 29
FTCS'95 Proceedings of the Twenty-Fifth international conference on Fault-tolerant computing
Toward an understanding of bug fix patterns
Empirical Software Engineering
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Capturing propagation of infected program states
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Interaction faults caused by third-party external systems: a case study and challenges
ISAS'08 Proceedings of the 5th international conference on Service availability
Non-parametric statistical fault localization
Journal of Systems and Software
Error detection framework for complex software systems
EWDC '11 Proceedings of the 13th European Workshop on Dependable Computing
Analyzing software process models with AVISPA
Proceedings of the 2011 International Conference on Software and Systems Process
OS-level hang detection in complex software systems
International Journal of Critical Computer-Based Systems
Bug localization in test-driven development
Advances in Software Engineering
Operating system support to detect application hangs
VECoS'08 Proceedings of the Second international conference on Verification and Evaluation of Computer and Communication Systems
Deriving a unified fault taxonomy for event-based systems
Proceedings of the 6th ACM International Conference on Distributed Event-Based Systems
XEMU: an efficient QEMU based binary mutation testing framework for embedded software
Proceedings of the tenth ACM international conference on Embedded software
Is Linux kernel oops useful or not?
HotDep'12 Proceedings of the Eighth USENIX conference on Hot Topics in System Dependability
Component-based software certification based on experimental risk assessment
LADC'07 Proceedings of the Third Latin-American conference on Dependable Computing
A Recovery-Oriented Approach for Software Fault Diagnosis in Complex Critical Systems
International Journal of Adaptive, Resilient and Autonomic Systems
Testing techniques selection based on ODC fault types and software metrics
Journal of Systems and Software
Hi-index | 0.00 |
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 achieved.