Computing reliability: On the differences between software testing and software fault injection techniques

Maha Kooli 1, 2 Firas Kaddachi 2 Giorgio Di Natale 2 Alberto Bosio 2 Pascal Benoit 3 Lionel Torres 3
2 TEST - TEST
LIRMM - Laboratoire d'Informatique de Robotique et de Microélectronique de Montpellier
3 ADAC - ADAptive Computing
LIRMM - Laboratoire d'Informatique de Robotique et de Microélectronique de Montpellier
Abstract : System reliability has become a main concern during the computer-based system design process. It is one of the most important characteristics of the system quality. The continuous increase of the system complexity makes the reliability evaluation extremely costly. Therefore, there is need to develop new methods with less cost and effort. Furthermore, the system is vulnerable to both software and hardware faults. While the software faults are usually introduced by the programmer either at the design or the implementation stage of the software, the hardware faults are caused by physical phenomena affecting the hardware components, such as environmental perturbations, manufacturing defects, and aging-related phenomena. The software faults can only impact the software components. However, the hardware faults can propagate through the different system layers, and affect both the hardware and the software. This paper discusses the differences between the software testing and the software fault injections techniques used for reliability evaluation. We describe the mutation analysis as a method mainly used in software testing. Then, we detail the fault injection as a technique to evaluate the system reliability. Finally, we discuss how to use software mutation analysis in order to evaluate, at software level, the system reliability against hardware faults. The main advantage of this technique is its usability at early design stage of the system, when the instruction set architecture is not available. Experimental results run to evaluate faults occurring the memory show that the proposed approach significantly reduces the complexity of the system reliability evaluation in terms of time and cost.
Complete list of metadatas

https://hal-lirmm.ccsd.cnrs.fr/lirmm-01693156
Contributor : Isabelle Gouat <>
Submitted on : Thursday, January 25, 2018 - 7:21:49 PM
Last modification on : Wednesday, May 8, 2019 - 2:56:01 PM

Identifiers

Collections

Citation

Maha Kooli, Firas Kaddachi, Giorgio Di Natale, Alberto Bosio, Pascal Benoit, et al.. Computing reliability: On the differences between software testing and software fault injection techniques. Microprocessors and Microsystems: Embedded Hardware Design (MICPRO), Elsevier, 2017, 50, pp.102-112. ⟨10.1016/j.micpro.2017.02.007⟩. ⟨lirmm-01693156⟩

Share

Metrics

Record views

296