Handling Software Faults with Redundancy

  • Authors:
  • Antonio Carzaniga;Alessandra Gorla;Mauro Pezzè

  • Affiliations:
  • Faculty of Informatics, University of Lugano, Lugano, Switzerland 6900;Faculty of Informatics, University of Lugano, Lugano, Switzerland 6900;Faculty of Informatics, University of Lugano, Lugano, Switzerland 6900 and Dipartimento di Informatica, Sistemistica e Comunicazione, University of Milano-Bicocca, Milano, Italy 20126

  • Venue:
  • Architecting Dependable Systems VI
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software engineering methods can increase the dependability of software systems, and yet some faults escape even the most rigorous and methodical development process. Therefore, to guarantee high levels of reliability in the presence of faults, software systems must be designed to reduce the impact of the failures caused by such faults, for example by deploying techniques to detect and compensate for erroneous runtime conditions. In this chapter, we focus on software techniques to handle software faults, and we survey several such techniques developed in the area of fault tolerance and more recently in the area of autonomic computing. Since practically all techniques exploit some form of redundancy, we consider the impact of redundancy on the software architecture, and we propose a taxonomy centered on the nature and use of redundancy in software systems. The primary utility of this taxonomy is to classify and compare techniques to handle software faults.