Propane: an environment for examining the propagation of errors in software

M Hiller, A Jhumka, N Suri - ACM SIGSOFT Software Engineering Notes, 2002 - dl.acm.org
M Hiller, A Jhumka, N Suri
ACM SIGSOFT Software Engineering Notes, 2002dl.acm.org
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 …
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.
ACM Digital Library