DEPEND: A Simulation-Based Environment for System Level Dependability Analysis
IEEE Transactions on Computers
Dependability: Basic Concepts and Terminology
Dependability: Basic Concepts and Terminology
Xception: A Technique for the Experimental Evaluation of Dependability in Modern Computers
IEEE Transactions on Software Engineering
An Approach for Analysing the Propagation of Data Errors in Software
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
A Framework for Assessing Dependability in Distributed Systems with Lightweight Fault Injectors
IPDS '00 Proceedings of the 4th International Computer Performance and Dependability Symposium
EPIC: Profiling the Propagation and Effect of Data Errors in Software
IEEE Transactions on Computers
Error propagation analysis for file systems
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
Probabilistic Failure Propagation and Transformation Analysis
SAFECOMP '09 Proceedings of the 28th International Conference on Computer Safety, Reliability, and Security
CuriOS: improving reliability through operating system structure
OSDI'08 Proceedings of the 8th USENIX conference on Operating systems design and implementation
An approach for designing and assessing detectors for dependable component-based systems
HASE'04 Proceedings of the Eighth IEEE international conference on High assurance systems engineering
On enhancing the robustness of commercial operating systems
ISAS'04 Proceedings of the First international conference on Service Availability
Error propagation monitoring on windows mobile-based devices
LADC'07 Proceedings of the Third Latin-American conference on Dependable Computing
Combining Fault-Injection with Property-Based Testing
Proceedings of International Workshop on Engineering Simulations for Cyber-Physical Systems
Hi-index | 0.00 |
In order to produce reliable software, it is important to have knowledge on how faults and errors may affect the software. In particular, designing efficient error detection mechanisms requires not only knowledge on which types of errors to detect but also the effect these errors may have on the software as well as how they propagate through the software. This paper presents the Propagation Analysis Environment (PROPANE) which is a tool for profiling and conducting fault injection experiments on software running on desktop computers. PROPANE supports the injection of both software faults (by mutation of source code) and data errors (by manipulating variable and memory contents). PROPANE supports various error types out-of-the-box and has support for user-defined error types. For logging, probes are provided for charting the values of variables and memory areas as well as for registering events during execution of the system under test. PROPANE has a flexible design making it useful for development of a wide range of software systems, e.g., embedded software, generic software components, or user-level desktop applications. We show examples of results obtained using PROPANE and how these can guide software developers to where software error detection and recovery could increase the reliability of the software system.