Lifetime Extension of Software Execution Subject to Aging

Software aging is a phenomenon of progressive degradation of software execution environment caused by software faults. In this paper, we propose software life-extension as an operational countermeasure against software aging and present the mathematical foundations of software life-extension by means of stochastic modeling. A semi-Markov process is used to capture the behavior of a system with software life-extension and to analyze the system's availability and completion times of jobs running on it. The semi-Markov process can correctly model the time-based life-extension and allows us to derive the optimal trigger for starting life-extension in terms of system availability and mean job completion time. We also present an effective combination of software life-extension and software rejuvenation that can maximize the system availability compared with a system using either rejuvenation or software life-extension.

[1]  Kishor S. Trivedi,et al.  Software aging in the eucalyptus cloud computing infrastructure , 2014, ACM J. Emerg. Technol. Comput. Syst..

[2]  Benjamin Schleich,et al.  How does testing affect the availability of aging software systems? , 2013, Perform. Evaluation.

[3]  Kishor S. Trivedi,et al.  Analysis of periodic preventive maintenance with general system failure distribution , 2001, Proceedings 2001 Pacific Rim International Symposium on Dependable Computing.

[4]  Domenico Cotroneo,et al.  Workload Characterization for Software Aging Analysis , 2011, 2011 IEEE 22nd International Symposium on Software Reliability Engineering.

[5]  Wei Xie,et al.  Performability analysis of clustered systems with rejuvenation under varying workload , 2007, Perform. Evaluation.

[6]  Domenico Cotroneo,et al.  Software Aging Analysis of the Linux Operating System , 2010, 2010 IEEE 21st International Symposium on Software Reliability Engineering.

[7]  G. V. Kulkarni,et al.  The Completion Time of a Job on Multi-Mode Systems , 1985 .

[8]  Kishor S. Trivedi,et al.  Proactive management of software aging , 2001, IBM J. Res. Dev..

[9]  Yennun Huang,et al.  Software rejuvenation: analysis, module and applications , 1995, Twenty-Fifth International Symposium on Fault-Tolerant Computing. Digest of Papers.

[10]  Dong Seong Kim,et al.  Recovery from Failures Due to Mandelbugs in IT Systems , 2011, 2011 IEEE 17th Pacific Rim International Symposium on Dependable Computing.

[11]  Artur Andrzejak,et al.  On the effectiveness of Mann-Kendall test for detection of software aging , 2013, 2013 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW).

[12]  Hiroshi Yamada,et al.  Phase-based reboot: Reusing operating system execution phases for cheap reboot-based recovery , 2011, 2011 IEEE/IFIP 41st International Conference on Dependable Systems & Networks (DSN).

[13]  Domenico Cotroneo,et al.  On the Aging Effects Due to Concurrency Bugs: A Case Study on MySQL , 2012, 2012 IEEE 23rd International Symposium on Software Reliability Engineering.

[14]  Dong Seong Kim,et al.  Modeling and analysis of software rejuvenation in a server virtualized system with live VM migration , 2013, Perform. Evaluation.

[15]  Kishor S. Trivedi,et al.  Analysis of software rejuvenation using Markov Regenerative Stochastic Petri Net , 1995, Proceedings of Sixth International Symposium on Software Reliability Engineering. ISSRE'95.

[16]  Elaine J. Weyuker,et al.  Monitoring Smoothly Degrading Systems for Increased Dependability , 2004, Empirical Software Engineering.

[17]  Kishor S. Trivedi,et al.  A measurement-based model for estimation of resource exhaustion in operational software systems , 1999, Proceedings 10th International Symposium on Software Reliability Engineering (Cat. No.PR00443).

[18]  Kishor S. Trivedi,et al.  Fighting bugs: remove, retry, replicate, and rejuvenate , 2007, Computer.

[19]  Rob Pike,et al.  Interpreting the data: Parallel analysis with Sawzall , 2005, Sci. Program..

[20]  Kishor S. Trivedi,et al.  Analysis of Software Aging in a Web Server , 2006, IEEE Transactions on Reliability.

[21]  Jianwen Xiang,et al.  Software Life-Extension: A New Countermeasure to Software Aging , 2012, 2012 IEEE 23rd International Symposium on Software Reliability Engineering.

[22]  Kishor S. Trivedi,et al.  Job completion time on a virtualized server with software rejuvenation , 2014, ACM J. Emerg. Technol. Comput. Syst..

[23]  Kishor S. Trivedi,et al.  Using Accelerated Life Tests to Estimate Time to Software Aging Failure , 2010, 2010 IEEE 21st International Symposium on Software Reliability Engineering.

[24]  Tadashi Dohi,et al.  Estimating Software Rejuvenation Schedules in High-Assurance Systems , 2001, Comput. J..

[25]  Kenichi Kourai Fast and correct performance recovery of operating systems using a virtual machine monitor , 2011, VEE '11.

[26]  Kishor S. Trivedi,et al.  Accelerated Degradation Tests Applied to Software Aging Experiments , 2010, IEEE Transactions on Reliability.

[27]  Jianwen Xiang,et al.  Aging-Related Bugs in Cloud Computing Software , 2012, 2012 IEEE 23rd International Symposium on Software Reliability Engineering Workshops.

[28]  Domenico Cotroneo,et al.  A measurement‐based ageing analysis of the JVM , 2013, Softw. Test. Verification Reliab..

[29]  Kishor S. Trivedi,et al.  An empirical investigation of fault types in space mission system software , 2010, 2010 IEEE/IFIP International Conference on Dependable Systems & Networks (DSN).

[30]  Luís Moura Silva,et al.  Software Aging and Rejuvenation in a SOAP-based Server , 2006, Fifth IEEE International Symposium on Network Computing and Applications (NCA'06).

[31]  Kai-Yuan Cai,et al.  A comprehensive approach to optimal software rejuvenation , 2013, Perform. Evaluation.

[32]  Daniel M. Roy,et al.  Enhancing Server Availability and Security Through Failure-Oblivious Computing , 2004, OSDI.

[33]  Domenico Cotroneo,et al.  Predicting aging-related bugs using software complexity metrics , 2013, Perform. Evaluation.

[34]  Jianwen Xiang,et al.  Combined Server Rejuvenation in a Virtualized Data Center , 2012, 2012 9th International Conference on Ubiquitous Intelligence and Computing and 9th International Conference on Autonomic and Trusted Computing.