In this paper, we address the problem of preventive maintenance of operational software systems, an approach recently proposed to counteract the phenomenon of software “aging”. We consider the so-called “software rejuvenation” technique, which consists in periodically stopping the software system and then restarting it in a “robust” state after a proper maintenance, and we propose a methodology for the quantitative analysis of rejuvenation strategies. The methodology is based on a fine grained model that assumes that it is possible to identify the current degradation level of the system by monitoring an observable quantity, so that the rejuvenation strategy can be tuned on the measured degradation. Based on this methodology, we present two different strategies that allow to decide whether and when to rejuvenate, and we exploit the theory of renewal processes with reward to estimate the steady-state unavailability of the software system, which is used to define an optimality criterion that allows us to evaluate the proper rejuvenation intervals. The methodology and the rejuvenation strategies are demonstrated by applying them to a real-world case study, arising in the area of database maintenance for data archiving, and to a hypothetical setting used to assess the sensitivity of the technique to various degradation processes.

Fine Grained Software Degradation Models for Optimal Rejuvenation Policies

SERENO, Matteo;
2001-01-01

Abstract

In this paper, we address the problem of preventive maintenance of operational software systems, an approach recently proposed to counteract the phenomenon of software “aging”. We consider the so-called “software rejuvenation” technique, which consists in periodically stopping the software system and then restarting it in a “robust” state after a proper maintenance, and we propose a methodology for the quantitative analysis of rejuvenation strategies. The methodology is based on a fine grained model that assumes that it is possible to identify the current degradation level of the system by monitoring an observable quantity, so that the rejuvenation strategy can be tuned on the measured degradation. Based on this methodology, we present two different strategies that allow to decide whether and when to rejuvenate, and we exploit the theory of renewal processes with reward to estimate the steady-state unavailability of the software system, which is used to define an optimality criterion that allows us to evaluate the proper rejuvenation intervals. The methodology and the rejuvenation strategies are demonstrated by applying them to a real-world case study, arising in the area of database maintenance for data archiving, and to a hypothetical setting used to assess the sensitivity of the technique to various degradation processes.
2001
Volume 46 , Issue 1 (September 2001)
45
62
Preventive maintenance; Software aging; Software rejuvenation; Fine grained software degradation models; Quantitative analysis of rejuvenation strategies
A. BOBBIO; M. SERENO; C. ANGLANO
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/2318/10028
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 70
  • ???jsp.display-item.citation.isi??? 45
social impact