Projekt

Zurück zur Übersicht

WASH: WorkArounds for Self-Healing

Titel Englisch WASH: WorkArounds for Self-Healing
Gesuchsteller/in Pezzè Mauro
Nummer 124918
Förderungsinstrument Projektförderung (Abt. I-III)
Forschungseinrichtung Facoltà di scienze informatiche Università della Svizzera italiana
Hochschule Università della Svizzera italiana – USI
Hauptdisziplin Informatik
Beginn/Ende 01.04.2009 - 31.03.2011
Bewilligter Betrag 108'880.00
Alle Daten anzeigen

Keywords (8)

self-healing; workaround; autonomic computing; equivalent sequences; fault recovery; autonomic systems; software self-healing; software reliability

Lay Summary (Englisch)

Lead
Lay summary
This project targets complex software systems, which exhibit emergent behaviors that affect system quality and reliability. Subtle failures can stem from unexpected interactions. These faults are difficult to reproduce in testing environments, and are seldom addressed by traditional engineering approaches.Researchers have for some time now recognized the benefits of self-managed systems that react to unexpected problems by exploiting their built-in capabilities and by restoring acceptable execution conditions without requiring human intervention at runtime. Different self-management abilities deal with different problems, from performance (self-optimization), security (self-protection), architectural mismatches (self-adaptation), configuration (self-configuration) and functional failures (self-healing).This project focuses on self-healing, that is techniques for automatically recovering from functional faults. In this project, we investigate a general approach to failure recovery based on automatic workarounds. We observe that software systems of significant complexity are often redundant, in the sense that the same functionality can be obtained through multiple sequences of operations. Exploiting this redundancy, we can built effective workarounds capable of recovering from some functional failures.
Direktlink auf Lay Summary Letzte Aktualisierung: 21.02.2013

Verantw. Gesuchsteller/in und weitere Gesuchstellende

Mitarbeitende

Verbundene Projekte

Nummer Titel Start Förderungsinstrument
138006 SHADE: a Self HeAling DEsign methodology 01.11.2011 Projektförderung (Abt. I-III)
116287 Perseos: Pervasive self-adaptive software systems 01.04.2007 Projektförderung (Abt. I-III)
116287 Perseos: Pervasive self-adaptive software systems 01.04.2007 Projektförderung (Abt. I-III)

Abstract

This project targets complex software systems, that is, systems composed of many heterogeneous devices, which communicate through distributed and wireless interfaces, and “live” and “evolve” around and within human societies.Complex software systems exhibit emergent behaviors that may greatly affect system quality and reliability. Subtle failures can stem from unexpected interactions between independently developed devices and applications, unforeseen use of the devices, and unpredictable environmental interference. These faults are difficult to reproduce in testing and debugging environments, and go undetected or at best only partially addressed by traditional engineering approaches.Researchers have for some time now recognized the benefits of autonomic or so-called self-managed systems. These are systems that react to unexpected problems by exploiting their built-in capabilities and by restoring acceptable execution conditions without requiring human intervention at runtime. Different self-management abilities deal with different problems, from performance (self-optimization), security (self-protection), architectural mismatches (self-adaptiation), configuration (self-configuration) and functional failures (self-healing).This project focuses on self-healing, that is, techniques for automatically recovering from functional faults. So far, research on self-healing has focused primarily on failure detection and fault diagnosis, leaving failure recovery up to either simple generic procedures or to mechanisms introduced at design time. The literature on fault tolerance proposes techniques that are well suited for critical systems, but that may not be effective with other classes of systems with different requirements of cost and reliability.In the PerSeoS project (SNF project 200021-116287), we have investigated a general approach to failure recovery based on automatic workarounds. We have observed that software systems of significant complexity are often redundant, in the sense that the same functionality can be obtained through multiple sequences of operations. Exploiting this redundancy, we have built effective workarounds capable of recovering from some functional failures. Specifically, we have defined the general approach and proposed a concrete solution to use information on both failures and failing sequences (sequences of operations that lead to a failure) to automatically generate workarounds from state-based specifications. The preliminary experiments conducted within the project confirmed our hypothesis that the intrinsic redundancy present in some systems can be successfully exploited to provide automatic solutions to functional failures.This project aims to complete the investigation started within the PerSeoS project. In particular, we intend to extend and elaborate on the encouraging results of the PerSeoS project by extending the methods for generating workarounds to a variety of classes of systems, by refining the selection of the most effective workarounds, and by providing a solid experimental evaluation of the benefits of this approach.In particular, we aim to:1.Extend the approach to other kinds of specifications, both formal (e.g., algebraic specifications) and informal (e.g., UML specifications), to demonstrate the applicability of the approach to a wide range of models, to investigate how to generate workarounds in different contexts, and to identify the limitations of the approach.2.Improve the technique for generating and prioritizing candidate workarounds, by using different sources of information from both specifications and failures. In this way, we aim to both identify a better set of candidate workarounds, and improve the ranking of candidate workaround to speed up the identification of a valid one.3.Extend the technique for generating and prioritizing workarounds to deal with loose information about failures and failing sequences. In this way, we will investigate the applicability of the approach also with poor failure detection techniques.4.Develop reliable prototype tools that will allow us to carry on multiple experiments with different types of models generated from both specifications and dynamic analysis of software systems.5.Conduct a set of experiments with a number of significant software systems that will demonstrate the effectiveness of the proposed approach in different cases, and will identify the limits of the technology.
-