Fault injection-based assessment of aspect-oriented implementation of fault tolerance
Paper in proceeding, 2011

Aspect-oriented programming provides an interesting approach for implementing software-based fault tolerance as it allows the core functionality of a program and its fault tolerance features to be coded separately. This paper presents a comprehensive fault injection study that estimates the fault coverage of two software implemented fault tolerance mechanisms designed to detect or mask transient and intermittent hardware faults. We compare their fault coverage for two target programs and for three implementation techniques: manual programming in C and two variants of aspect-oriented programming. We also compare the impact of different compiler optimization levels on the fault coverage. The software-implemented fault tolerance mechanisms investigated are: i) triple time-redundant execution with voting and forward recovery, and ii) a novel dual signature control flow checking mechanism. The study shows that the variations in fault coverage among the implementation techniques generally are small, while some variations for different compiler optimization levels are significant.

time-redundant execution

control flow checking

aspect oriented programming

fault injection

fault tolerance


Ruben Alexandersson

Chalmers, Computer Science and Engineering (Chalmers), Software Engineering (Chalmers)

Johan Karlsson

Chalmers, Computer Science and Engineering (Chalmers), Networks and Systems (Chalmers)

2011 IEEE/IFIP 41st International Conference on Dependable Systems and Networks, DSN 2011, Hong Kong, 27-30 June 2011

1530-0889 (ISSN)

978-142449233-6 (ISBN)

Subject Categories

Software Engineering





More information