Aspect-Oriented Implementation of Fault Tolerance: An Assessment of Overhead
Paper in proceeding, 2010

Software-implemented fault tolerance is an attractive technique for constructing fail-safe and fault-tolerant processing nodes for road vehicles and other cost-sensitive applications. This paper investigates the memory consumption and execution time overhead obtained when implementing timeredundant execution and control flow checking in software for an automotive brake controller application. These two mechanisms were implemented at the source code level using three implementations techniques: aspect-oriented programming (AOP), source code transformation and manual programming in C. The results show that AOP generates much higher overheads than code transformation for strictly systematic implementations. On the other hand, when application knowledge is used to optimize the implementations, the overhead of AOP is similar to that of manual programming in C.

Source code transformation

Control flow checking

Fault tolerance

Aspect-oriented programming

Time-redundant execution


Ruben Alexandersson

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

Peter Öhman

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

Johan Karlsson

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

Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

03029743 (ISSN) 16113349 (eISSN)

Vol. 6351 466-479
978-364215650-2 (ISBN)

Areas of Advance


Subject Categories

Software Engineering





More information