Analysis of preventive maintenance in transactions based software systems

Sachin Garg, Antonio Puliafito, Miklós Telek, Kishor Trivedi

Research output: Contribution to journalArticle

177 Citations (Scopus)


Preventive maintenance of operational software systems, a novel technique for software fault tolerance, is used specifically to counteract the phenomenon of software "aging." However, it incurs some overhead. The necessity to do preventive maintenance, not only in general purpose software systems of mass use, but also in safety-critical and highly available systems, clearly indicates the need to follow an analysis based approach to determine the optimal times to perform preventive maintenance. In this paper, we present an analytical model of a software system which serves transactions. Due to aging, not only the service rate of the software decreases with time, but also the software itself experiences crash/hang failures which result in its unavailability. Two policies for preventive maintenance are modeled and expressions for resulting steady state availability, probability that an arriving transaction is lost and an upper bound on the expected response time of a transition are derived. Numerical examples are presented to illustrate the applicability of the models.

Original languageEnglish
Pages (from-to)96-107
Number of pages12
JournalIEEE Transactions on Computers
Issue number1
Publication statusPublished - Dec 1 1998


  • Markov regenerative models
  • Preventive maintenance
  • Reliability modeling
  • Software fault tolerance
  • Software rejuvenation
  • Transactions based software systems

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture
  • Computational Theory and Mathematics

Fingerprint Dive into the research topics of 'Analysis of preventive maintenance in transactions based software systems'. Together they form a unique fingerprint.

  • Cite this