Conference Paper

An approach for analysing the propagation of data errors in software

Dept. of Comput. Eng., Chalmers Univ. of Technol., Goteborg, Sweden
DOI: 10.1109/DSN.2001.941402 Conference: Dependable Systems and Networks, 2001. DSN 2001. International Conference on
Source: CiteSeer

ABSTRACT We present a novel approach for analysing the propagation of data errors in software. The concept of error permeability is introduced as a basic measure upon which we define a set of related measures. These measures guide us in the process of analysing the vulnerability of software to find the modules that are most likely exposed to propagating errors. Based on the analysis performed with error permeability and its related measures, we describe how to select suitable locations for error detection mechanisms (EDMs) and error recovery mechanisms (ERMs). A method for experimental estimation of error permeability, based on fault injection, is described and the software of a real embedded control system analysed to show the type of results obtainable by the analysis framework. The results show that the developed framework is very useful for analysing error propagation and software vulnerability and for deciding where to place EDMs and ERMs.

Download full-text

Full-text

Available from: Arshad Jhumka, Jul 06, 2015
0 Followers
 · 
85 Views
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: Designing a dependable system successfully is a challenging issue that is an ongoing research subject in the literature. Different approaches have been adopted in order to identify, analyse and verify the dependability of a system design. This process is far from obvious and often hampered due to the limitations of the classical dependability analysis techniques and verification approaches. This paper provides an overview of analysis approaches grouped by limitations. The principal points for the characterization of the considered approaches are the capability to handle notions of time, component-wise failure propagations and the use of architectural languages with the aim to extract analysis models from design models. Finally, verification approaches are partially reviewed.
    DEPEND 2012; 08/2012
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: A dependable software system must contain error detection mechanisms and error recovery mechanisms. Software components for the detection of errors are typically designed based on a system specification or the experience of software engineers, with their efficiency typically being measured using fault injection and metrics such as coverage and latency. In this paper, we introduce a methodology for the design of highly efficient error detection mechanisms. The proposed methodology combines fault injection analysis and data mining techniques in order to generate predicates for efficient error detection mechanisms. The results presented demonstrate the viability of the methodology as an approach for the development of efficient error detection mechanisms, as the predicates generated yield a true positive rate of almost 100% and a false positive rate very close to 0% for the detection of failure-inducing states. The main advantage of the proposed methodology over current state-of-the-art approaches is that efficient detectors are obtained by design, rather than by using specification-based detector design or the experience of software engineers.
    Proceedings of the 2011 IEEE/IFIP International Conference on Dependable Systems and Networks, DSN 2011, Hong Kong, China, June 27-30 2011; 01/2011
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: Error injection is a well accepted method to evaluate hardware error detection mechanisms. An error detection mechanism is effective if it considerably reduces the amount of silently corrupted output of protected applications compared to unprotected applications. For a good representativeness of the error injection, the error model used has to mirror real world errors as accurately as possible. We introduce Error Injection Slicing (EIS) which emulates the symptoms of hardware errors. Furthermore, EIS provides means to debug single injection runs using slicing. With EIS we make the following novel contributions: (1) easy usage through hardware independence, (2) a symptom-based, flexible and comprehensive error model (e.g., not only bit-flips), and (3) debugging support to improve the detection coverage of the evaluated error detection mechanism. We evaluated the usefulness of the injector by analyzing the AN-encoding compiler that applies an AN-code to applications to facilitate hardware error detection.
    Dependable Computing Conference (EDCC), 2010 European; 05/2010