We propose to use automatic workarounds to achieve self-healing in software systems. We observe that software systems of significant complexity, especially those made of components, are often redundant, in the sense that the same functionality and the same state-transition can be obtained through multiple sequences of operations. This redundancy is the basis to construct effective workarounds for component failures. In particular, we assume that failures can be detected and intercepted together with a trace of the operations that lead to the failure. Given the failing sequence, the system autonomically executes one or more alternative sequences that are known to have an equivalent behavior. We argue that such workarounds can be derived with reasonable effort from many forms of specifications, that they can be effectively prioritized either statically or dynamically, and that they can be deployed at run time in a completely automated way, and therefore that they amount to a valid self-healing mechanism. We develop this notion of self-healing by detailing a method to represent, derive, and deploy workarounds. We validate our method in two case studies

Gorla, A., Pezze', M., Carzaniga, A. (2008). Self-Healing by Means of Automatic Workarounds. In The 2008 International Workshop on Software Engineering for Adaptive and Self-Managing Systems (pp.17-24). Association for Computing Machinery.

Self-Healing by Means of Automatic Workarounds

PEZZE', MAURO;
2008

Abstract

We propose to use automatic workarounds to achieve self-healing in software systems. We observe that software systems of significant complexity, especially those made of components, are often redundant, in the sense that the same functionality and the same state-transition can be obtained through multiple sequences of operations. This redundancy is the basis to construct effective workarounds for component failures. In particular, we assume that failures can be detected and intercepted together with a trace of the operations that lead to the failure. Given the failing sequence, the system autonomically executes one or more alternative sequences that are known to have an equivalent behavior. We argue that such workarounds can be derived with reasonable effort from many forms of specifications, that they can be effectively prioritized either statically or dynamically, and that they can be deployed at run time in a completely automated way, and therefore that they amount to a valid self-healing mechanism. We develop this notion of self-healing by detailing a method to represent, derive, and deploy workarounds. We validate our method in two case studies
paper
autonomic computing, equivalent behaviors, fault healing, self-healing, system redundancy, workarounds
English
The 2008 International Workshop on Software Engineering for Adaptive and Self-Managing Systems
2008
The 2008 International Workshop on Software Engineering for Adaptive and Self-Managing Systems
9781605580371
2008
17
24
none
Gorla, A., Pezze', M., Carzaniga, A. (2008). Self-Healing by Means of Automatic Workarounds. In The 2008 International Workshop on Software Engineering for Adaptive and Self-Managing Systems (pp.17-24). Association for Computing Machinery.
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10281/13314
Citazioni
  • Scopus 26
  • ???jsp.display-item.citation.isi??? ND
Social impact