skip to main content
research-article

A survey of software aging and rejuvenation studies

Authors Info & Claims
Published:13 January 2014Publication History
Skip Abstract Section

Abstract

Software aging is a phenomenon plaguing many long-running complex software systems, which exhibit performance degradation or an increasing failure rate. Several strategies based on the proactive rejuvenation of the software state have been proposed to counteract software aging and prevent failures. This survey article provides an overview of studies on Software Aging and Rejuvenation (SAR) that have appeared in major journals and conference proceedings, with respect to the statistical approaches that have been used to forecast software aging phenomena and to plan rejuvenation, the kind of systems and aging effects that have been studied, and the techniques that have been proposed to rejuvenate complex software systems. The analysis is useful to identify key results from SAR research, and it is leveraged in this article to highlight trends and open issues.

References

  1. Adams, E. 1984. Optimizing preventive service of software products. IBM J. Res. Devel. 28, 1, 2--14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Alonso, J., Belanche, L., and Avresky, D. 2011a. Predicting software anomalies using machine learning techniques. In Proceedings of the 2011 IEEE International Symposium on Network Computing and Applications (NCA'11). 163--170. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Alonso, J., Matias, R., Vicente, E., Carvalho, A., and Trivedi, K. 2011b. A comparative evaluation of software rejuvenation strategies. In Proceedings of the 2011 IEEE 3rd International Workshop on Software Aging and Rejuvenation (WoSAR). 26--31. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Alonso, J., Torres, J., Berral, J., and Gavaldà, R. 2010. J2ee instrumentation for software aging root cause application component determination with ASPECTJ. In Proceedings of the 2010 IEEE International Symposium on Parallel and Distributed Processing, Workshops and PhD Forum (IPDPSW'10).Google ScholarGoogle Scholar
  5. Andrade, E. C., MacHida, F., Kim, D., and Trivedi, K. 2011. Modeling and analyzing server system with rejuvenation through SYSML and stochastic reward nets. In Proceedings of the 2011 6th International Conference on Availability, Reliability and Security (ARES'11). 161--168. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Andrzejak, A. and Silva, L. 2007. Deterministic models of software aging and optimal rejuvenation schedules. In Proceedings of the 10th IFIP/IEEE International Symposium on Integrated Network Management 2007 (IM'07). 159--168.Google ScholarGoogle Scholar
  7. Andrzejak, L. and Silva, A. 2008. Using machine learning for non-intrusive modeling and prediction of software aging. In Proceedings of the IEEE Network Operations and Management Symposium.Google ScholarGoogle Scholar
  8. Antunes, J. 2008. Detection and prediction of resource-exhaustion vulnerabilities. In Proceedings International Symposium on Software Reliability Engineering. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Araujo, J., Matos, R., Maciel, P., Matias, R., and Beicker, I. 2011a. Experimental evaluation of software aging effects on the eucalyptus cloud computing infrastructure. In Middleware. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Araujo, J., Matos, R., Maciel, P., Vieira, F., Matias, R., and Trivedi, K. S. 2011b. Software rejuvenation in eucalyptus cloud computing infrastructure: A method based on time series forecasting and multiple thresholds. In Proceedings of the 2011 IEEE 3rd International Workshop on Software Aging and Rejuvenation (WoSAR). 38--43. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Aung, K., Park, K., and Park, J. 2005. A model of ITS using cold standby cluster. In Digital Libraries: Implementing Strategies and Sharing Experiences. Lecture Notes in Computer Science, vol. 3815. Springer, pp. 1--10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Avizienis, A., Laprie, J., Randell, B., and Landwehr, C. 2004. Basic concepts and taxonomy of dependable and secure computing. IEEE Trans. Depend. Secure Comput. 1, 1, 11--33. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Avritzer, A., Bondi, A., and Weyuker, E. 2007. Ensuring system performance for cluster and single server systems. J. Syst. Softw. 80, 4, 441--454. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Avritzer, A. and Weyuker, E. 1997. Monitoring smoothly degrading systems for increased dependability. Empir. Softw. Eng. 2, 1, 59--77. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Avritzer, A. and Weyuker, E. J. 2004. The role of modeling in the performance testing of e-commerce applications. IEEE Trans. Softw. Eng. 30, 12, 1072--1083. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Baker, M. and Sullivan, M. 1992. The recovery box: Using fast recovery to provide high availability in the UNIX environment. In Proceedings of the Summer 1992 USENIX Conference. 31--43.Google ScholarGoogle Scholar
  17. Balakrishnan, M., Puliafito, A., Trivedi, K., and Viniotis, Y. 1997. Buffer losses vs. deadline violations for abr traffic in an atm switch: a computational approach. Telecommun. Syst. 7, 1--3, 105--123.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Bao, Y., Sun, X., and Trivedi, K. 2005. A workload-based analysis of software aging, and rejuvenation. IEEE Trans. Reliability 54, 3.Google ScholarGoogle ScholarCross RefCross Ref
  19. Bernstein, L. 1993. Innovative technologies for preventing network outages. AT&T Tech J. 72, 4, 4--10.Google ScholarGoogle ScholarCross RefCross Ref
  20. Bernstein, L. and Kintala, C. 2004. Software rejuvenation. CrossTalk 17, 8, 23--26.Google ScholarGoogle Scholar
  21. Bobbio, A. and Sereno, M. 1998. Fine grained software rejuvenation models. In Proceedings of the IEEE International Computer Performance and Dependability Symposium, 1998 (IPDS'98). IEEE, 4--12.Google ScholarGoogle Scholar
  22. Bobbio, A., Sereno, M., and Anglano, C. 2001. Fine grained software degradation models for optimal rejuvenation policies. Perform. Eval. 46, 1, 45--62. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Bond, M. and McKinley, K. 2008. Tolerating memory leaks. In Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA). 109--125. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Bovenzi, A., Cotroneo, D., Pietrantuono, R., and Russo, S. 2011. Workload characterization for software aging analysis. In Proceedings of the 2011 IEEE 22nd International Symposium on Software Reliability Engineering (ISSRE). 240--249. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Candea, G., Cutler, J., Fox, A., Doshi, R., Garg, P., and Gowda, R. 2002. Reducing recovery time in a small recursively restartable system. In Proceedings of the International Conference Dependable Systems and Networks, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Candea, G., Kawamoto, S., Fujiki, Y., Friedman, G., and Fox, A. 2004. Microreboot—a technique for cheap recovery. In Proceedings of the Symposium on Operating Systems Design & Implementation. USENIX Association, 31--44. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Carrozza, G., Cotroneo, D., Natella, R., Pecchia, A., and Russo, S. 2010. Memory leak analysis of mission-critical middleware. J. Syst. Softw. 83, 9, 1556--1567. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Cassidy, K., Gross, K., and Malekpour, A. 2002. Advanced pattern recognition for detection of complex software aging phenomena in online transaction processing servers. In Proceedings of the International Conference Dependable Systems and Networks, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Castelli, V., Harper, R., Heidelberger, P., Hunter, S., Trivedi, K., Vaidyanathan, K., and Zeggert, W. 2001. Proactive management of software aging. IBM J. Res. Develop. 45, 2, 311--332. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Chillarege, R. 2011. Understanding Bohr-Mandel bugs through ODC triggers and a case study with empirical estimations of their field proportion. In Proceedings of the 2011 IEEE 3rd International Workshop on Software Aging and Rejuvenation (WoSAR). 7--13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Cotroneo, D., Natella, R., Pietrantuono, R., and Russo, S. 2010. Software aging analysis of the Linux operating system. In Proceedings of the 2010 IEEE 21st International Symposium Software Reliability Engineering (ISSRE). Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Cotroneo, D., Natella, R., Pietrantuono, R., and Russo, S. 2011a. Software aging and rejuvenation: Where we are and where we are going. In Proceedings of the 2011 IEEE 3rd International Workshop on Software Aging and Rejuvenation (WoSAR). 1--6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Cotroneo, D., Orlando, S., Pietrantuono, R., and Russo, S. 2011b. A measurement-based ageing analysis of the JVM. Softw. Test. Verif. Reliab.Google ScholarGoogle Scholar
  34. Cotroneo, D., Orlando, S., and Russo, S. 2007. Characterizing aging phenomena of the Java virtual machine. In Proceedings of the 26th IEEE International Symposium Reliable Distributed Systems, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Cox, B., Evans, D., Filipi, A., Rowanhill, J., Hu, W., Davidson, J., Knight, J., Nguyen-Tuong, A., and Hiser, J. 2006. N-variant systems: a secretless framework for security through diversity. In Proceedings of the 15th Conference on USENIX Security Symposium. Vol. 15. USENIX Association, 9. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Du, X., Qi, Y., Hou, D., Chen, Y., and Zhong, X. 2009. Modeling and performance analysis of software rejuvenation policies for multiple degradation systems. In Proceedings of the International Computer Software and Applications Conference, vol. 1, 240--245. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Eto, H., Dohi, T., and Ma, J. 2008. Simulation-based optimization approach for software cost model with rejuvenation. In Autonomic and Trusted Computing. Lecture Notes in Computer Science, vol. 5060. Springer, pp. 206--218. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Ferreira, T., Matias, R., Macedo, A., and Araujo, L. 2011. An experimental study on memory allocators in multicore and multithreaded applications. In Proceedings of the 12th International Conference on Parallel and Distributed Computing, Applications and Technologies (PDCAT), 2011. 92--98. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Gama, K. and Donsez, D. 2008. Service coroner: A diagnostic tool for locating OSGI stale references. EUROMICRO 2008 - Proceedings of the 34th EUROMICRO Conference on Software Engineering and Advanced Applications (SEAA'08). 108--115. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Garg, S., Kintala, C., Huang, Y., and Trivedi, K. 1996. Minimizing completion time of a program by checkpointing and rejuvenation. Perform. Eval. Rev. 24, 1, 252--261. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Garg, S., Puliafito, A., Telek, M., and Trivedi, K. 1995. Analysis of software rejuvenation using Markov regenerative stochastic Petri net. In Proceedings of the 6th International Symposium on Software Reliability Engineering, 1995.Google ScholarGoogle ScholarCross RefCross Ref
  42. Garg, S., Puliafito, A., Telek, M., and Trivedi, K. 1998a. Analysis of preventive maintenance in transactions based software systems. IEEE Trans. Comput. 47, 1. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Garg, S., van Moorsel, A., Vaidyanathan, K., and Trivedi, K. 1998b. A methodology for detection and estimation of software aging. In Proceedings of the 9th International Symposium on Software Reliability Engineering, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Gray, J. 1985. Why do computers stop and what can be done about it? In Proceedings of the Symposium on Reliability in Distributed Software and Database Systems. 3--11.Google ScholarGoogle Scholar
  45. Grottke, M., Li, L., Vaidyanathan, K., and Trivedi, K. 2006. Analysis of software aging in a web server. IEEE Trans. Reliab. 55, 3.Google ScholarGoogle ScholarCross RefCross Ref
  46. Grottke, M., Matias, R., and Trivedi, K. 2008. The fundamentals of software aging. In Proceedings of the IEEE International Conference on Software Reliability Engineering Workshops, 2008.Google ScholarGoogle Scholar
  47. Grottke, M., Nikora, A., and Trivedi, K. 2010. An empirical investigation of fault types in space mission system software. In Proceedings of the 2010 International Conference on Dependable Systems and Networks (DSN).Google ScholarGoogle Scholar
  48. Heine, D. and Lam, M. 2006. Static detection of leaks in polymorphic containers. In Proceedings of the International Conference on Software Engineering 2006. 252--261. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Hoffmann, G., Trivedi, K., and Malek, M. 2007. A best practice guide to resource forecasting for computing systems. IEEE Trans. Reliab. 56, 4.Google ScholarGoogle ScholarCross RefCross Ref
  50. Huang, Y., Arsenault, D., and Sood, A. 2006. SCIT-DNS: Critical infrastructure protection through secure DNS server dynamic updates. J. High Speed Netw. 15, 1, 5--19. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. Huang, Y., Chung, P., Kintala, C., Liang, D., and Wang, C. 1998. NT-SWIFT: Software implemented fault tolerance on Windows NT. In Proceedings of the 1998 USENIX WindowsNT Symposium. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. Huang, Y. and Kintala, C. 1993. Software implemented fault tolerance: Technologies and experience. In Proceedings of the 1993 IEEE International Symposium on Fault-Tolerant Computing.Google ScholarGoogle Scholar
  53. Huang, Y., Kintala, C., Kolettis, N., and Fulton, N. 1995. Software rejuvenation: Analysis, module and applications. In Digest of Papers of the 25th International Symposium Fault-Tolerant Computing, 1995 (FTCS-25). Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Huang, Y., Kintala, C. M. R., Bernstein, L., and Wang, Y.-M. 1996. Components for software fault tolerance and rejuvenation. AT&T Tech. J. 75, 2, 29--37.Google ScholarGoogle ScholarCross RefCross Ref
  55. Jeong, J., Seo, E., Choi, J., Kim, H., Jo, H., and Lee, J. 2010. Kal: Kernel-assisted non-invasive memory leak tolerance with a general-purpose memory allocator. Softw. Pract. Exper. 40, 8, 605--625. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. Jia, Y.-F., Zhao, L., and Cai, K.-Y. 2008. A nonlinear approach to modeling of software aging in a web server. In Proceedings of the 15th Asia-Pacific Software Engineering Conference, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. Jung, Y. and Yi, K. 2008. Practical memory leak detector based on parameterized procedural summaries. In Proceedings of the 7th International Symposium on Memory Management. ACM, 131--140. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. Kajko-Mattsson, M. 2001. Can we learn anything from hardware preventive maintenance? In Proceedings of the 7th IEEE International Conference on Engineering of Complex Computer Systems, 2001. IEEE, 106--111. Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. Kiciman, E. and Livshits, B. 2007. Ajaxscope: A platform for remotely monitoring the client-side behavior of web 2.0 applications. In SOSP'07 - Proceedings of 21st ACM SIGOPS Symposium on Operating Systems Principles, 17--30. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. Kim, D., Yang, C., and Park, J. 2007. Adaptation mechanisms for survivable sensor networks against denial of service attack. In Proceedings of the 2nd International Conference on Availability, Reliability and Security (ARES'07). 575--579. Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. Kourai, K. 2010. Cachemind: Fast performance recovery using a virtual machine monitor. In Proceedings of the International Conference on Dependable Systems and Networks Workshops (DSN-W), 2010. 86--92. Google ScholarGoogle ScholarDigital LibraryDigital Library
  62. Kourai, K. and Chiba, S. 2007. A fast rejuvenation technique for server consolidation with virtual machines. In Proceedings of the 37th International Conference on Dependable Systems and Networks, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. Kourai, K. and Chiba, S. 2011. Fast software rejuvenation of virtual machine monitors. IEEE Trans. Depend. Secure Comput. 8, 6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  64. Koutras, V. and Platis, A. 2008. Modeling perfect and minimal rejuvenation for client server systems with heterogeneous load. In Proceedings of the 14th IEEE Pacific Rim International Symposium Dependable Computing, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. Koutras, V. and Platis, A. 2011. Applying partial and full rejuvenation in different degradation levels. In Proceedings of the IEEE 3rd International Workshop on Software Aging and Rejuvenation (WoSAR), 2011. 20--25. Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. Li, L., Vaidyanathan, K., and Trivedi, K. 2002. An approach for estimation of software aging in a web server. In Proceedings of the 2002 International Symposium on Empirical Software Engineering, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  67. Liu, Y., Ma, Y., Han, J. J., Levendel, H., and Trivedi, K. S. 2005. A proactive approach towards always-on availability in broadband cable networks. Comput. Commun. 28, 1, 51--64. Google ScholarGoogle ScholarDigital LibraryDigital Library
  68. Liu, Y., Trivedi, K., Ma, Y., Han, J., and Levendel, H. 2002. Modeling and analysis of software rejuvenation in cable modem termination systems. In Proceedings of the 13th International Symposium on Software Reliability Engineering, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  69. Macedo, A., Ferreira, T., and Matias, R. 2010. The mechanics of memory-related software aging. In Proceedings of the IEEE 2nd International Workshop on Software Aging and Rejuvenation (WoSAR), 2010.Google ScholarGoogle Scholar
  70. Machida, F., Kim, D. S., and Trivedi, K. 2010. Modeling and analysis of software rejuvenation in a server virtualized system. In Proceedings of the IEEE 2nd International Workshop on Software Aging and Rejuvenation (WoSAR), 2010.Google ScholarGoogle Scholar
  71. Machida, F., Nicola, V., and Trivedi, K. 2011. Job completion time on a virtualized server subject to software aging and rejuvenation. In Proceedings of the IEEE 3rd International Workshop on Software Aging and Rejuvenation (WoSAR), 2011. 44--49. Google ScholarGoogle ScholarDigital LibraryDigital Library
  72. Magalhaes, J. and Silva, L. 2010. Prediction of performance anomalies in web-applications based-on software aging scenarios. In Proceedings of the IEEE 2nd International Workshop on Software Aging and Rejuvenation (WoSAR), 2010.Google ScholarGoogle Scholar
  73. Marshall, E. 1992. Fatal error: how patriot overlooked a scud. Science 255, 5050, 1347--1347.Google ScholarGoogle Scholar
  74. Matias, R., Barbetta, P., Trivedi, K., and Filho, P. 2010a. Accelerated degradation tests applied to software aging experiments. IEEE Trans. Reliab. 59, 1.Google ScholarGoogle ScholarCross RefCross Ref
  75. Matias, R., Trivedi, K., and Maciel, P. 2010b. Using accelerated life tests to estimate time to software aging failure. In Proceedings of the IEEE 21st International Symposium on Software Reliability Engineering (ISSRE), 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  76. Matias Jr., R. and Filho, P. J. F. 2006. An experimental study on software aging and rejuvenation in web servers. In Proceedings of the International Computer Software and Applications Conference 1, 189--196. Google ScholarGoogle ScholarDigital LibraryDigital Library
  77. Matos, R., Maciel, P., and Matias, R. 2011. Software aging issues on the eucalyptus cloud computing infrastructure. In Proceedings of the IEEE International Conference on Systems, Man, and Cybernetics.Google ScholarGoogle Scholar
  78. Myint, M. and Thein, T. 2010. Availability improvement in virtualized multiple servers with software rejuvenation and virtualization. In SSIRI 2010: Proceedings of the 4th IEEE International Conference on Secure Software Integration and Reliability Improvement. 156--162. Google ScholarGoogle ScholarDigital LibraryDigital Library
  79. Nagarajan, A. and Sood, A. 2010. SCIT and IDS architectures for reduced data ex-filtration. In Proceedings of the International Conference on Dependable Systems and Networks Workshops (DSN-W), 2010. IEEE, 164--169. Google ScholarGoogle ScholarDigital LibraryDigital Library
  80. Naksinehaboon, N., Taerat, N., Leangsuksun, C., Chandler, C., and Scott, S. 2010. Benefits of software rejuvenation on HPC systems. In Proceedings of the International Symposium on Parallel and Distributed Processing with Applications (ISPA'10). 499--506. Google ScholarGoogle ScholarDigital LibraryDigital Library
  81. Nellitheertha, H. 2004. Reboot Linux faster using kexec. In developerWorks technical library.Google ScholarGoogle Scholar
  82. Nguyen, Q. and Sood, A. 2009. Quantitative approach to tuning of a time-based intrusion-tolerant system architecture. In Proceedings of the 3rd Workshop Recent Advances on Intrusion-Tolerant Systems. 132--139.Google ScholarGoogle Scholar
  83. Ni, Q., Sun, W., and Ma, S. 2008. Memory leak detection in sun solaris OS. In Proceedings of the International Symposium on Computer Science and Computational Technology. Google ScholarGoogle ScholarDigital LibraryDigital Library
  84. Ning, M., Yong, Q., Di, H., Xia, P., and Ying, C. 2007. Application server aging prediction model based on wavelet network with adaptive particle swarm optimization algorithm. In Advanced Intelligent Computing Theories and Applications with Aspects of Artificial Intelligence. Lecture Notes in Computer Science, vol. 4682. Springer, pp. 14--25. Google ScholarGoogle ScholarDigital LibraryDigital Library
  85. Novark, G., Berger, E., and Zorn, B. 2009. Efficiently and precisely locating memory leaks and bloat. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI). 397--407. Google ScholarGoogle ScholarDigital LibraryDigital Library
  86. Okamura, H. and Dohi, T. 2011. A pomdp formulation of multistep failure model with software rejuvenation. In Proceedings of the IEEE 3rd International Workshop on Software Aging and Rejuvenation (WoSAR), 2011. 14--19. Google ScholarGoogle ScholarDigital LibraryDigital Library
  87. Okamura, H., Miyahara, S., and Dohi, T. 2003. Dependability analysis of a transaction-based multi-server system with rejuvenation. IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences E86-A, 8, 2081--2090.Google ScholarGoogle Scholar
  88. Okamura, H., Miyahara, S., and Dohi, T. 2005. Rejuvenating communication network system under burst arrival circumstances. IEICE Transactions on Communications E88-B, 12, 4498--4506.Google ScholarGoogle Scholar
  89. Oppenheimer, D., Ganapathi, A., and Patterson, D. A. 2003. Why do internet services fail, and what can be done about it? In Proceedings of the 4th Conference on USENIX Symposium on Internet Technologies and Systems (USITS'03). Vol. 4. USENIX Association, Berkeley, CA, USA, 1--1. Google ScholarGoogle ScholarDigital LibraryDigital Library
  90. Oracle. 2012. Booting and Shutting Down Oracle Solaris on x86 Platforms. Oracle Solaris 11 Information Library.Google ScholarGoogle Scholar
  91. Park, J. and Choi, B. 2012. Automated memory leakage detection in android based systems. Int. J. Control Automat. 5, 2, 35--42.Google ScholarGoogle Scholar
  92. Park, K. and Kim, S. 2002. Availability analysis and improvement of active/standby cluster systems using software rejuvenation. J. Syst. Softw. 61, 2, 121--128. Google ScholarGoogle ScholarDigital LibraryDigital Library
  93. Parnas, D. 1994. Software aging. In Proceedings of the 16th International Conference on Software Engineering. IEEE Computer Society Press, 279--287. Google ScholarGoogle ScholarDigital LibraryDigital Library
  94. Pfening, A., Garg, S., Puliafito, A., Telek, M., and Trivedi, K. 1996. Optimal software rejuvenation for tolerating soft failures. Perform. Eval. 27--28, 491--506. Google ScholarGoogle ScholarDigital LibraryDigital Library
  95. Robb, D. 2000. Defragmenting really speeds up windows nt machines. Spectrum IEEE 37, 9, 74--77. Google ScholarGoogle ScholarDigital LibraryDigital Library
  96. Roeder, T. and Schneider, F. 2010. Proactive obfuscation. ACM Trans. Comput. Syst. (TOCS) 28, 2, 4. Google ScholarGoogle ScholarDigital LibraryDigital Library
  97. RTCA. 1992. DO-178B Software considerations in airborne systems and equipment certification. Require. Tech. Concepts Aviation.Google ScholarGoogle Scholar
  98. Salfner, F. and Wolter, K. 2010. Analysis of service availability for time-triggered rejuvenation policies. J. Syst. Softw. 83, 9, 1579--1590. Google ScholarGoogle ScholarDigital LibraryDigital Library
  99. Shereshevsky, M., Crowell, J., Cukic, B., Gandikota, V., and Liu, Y. 2003. Software aging and multifractality of memory resources. In Proceedings of the 2003 International Conference on Dependable Systems and Networks, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  100. Silva, L., Alonso, J., Silva, P., Torres, J., and Andrzejak, A. 2007. Using virtualization to improve software rejuvenation. In Proceedings of the 6th IEEE International Symposium on Network Computing and Applications (NCA'07). 33--42.Google ScholarGoogle Scholar
  101. Silva, L., Alonso, J., and Torres, J. 2009. Using virtualization to improve software rejuvenation. IEEE Trans. Computs. 58, 11. Google ScholarGoogle ScholarDigital LibraryDigital Library
  102. Silva, L., Madeira, H., and Silva, J. 2006. Software aging and rejuvenation in a soap-based server. In Proceedings of the 5th IEEE International Symposium on Network Computing and Applications (NCA'06). 56--65. Google ScholarGoogle ScholarDigital LibraryDigital Library
  103. Sousa, P., Bessani, A., Correia, M., Neves, N., and Verissimo, P. 2010. Highly available intrusion-tolerant services with proactive-reactive recovery. IEEE Trans. Paral. Distrib. Syst. 21, 4, 452--465. Google ScholarGoogle ScholarDigital LibraryDigital Library
  104. Sullivan, M. and Chillarege, R. 1991. Software defects and their impact on system availability—A study of field failures in operating systems. In Digest of Papers of 21st International Symposium on Fault-Tolerant Computing, 1991 (FTCS-21). IEEE, 2--9.Google ScholarGoogle Scholar
  105. Sundaram, V., HomChaudhuri, S., Garg, S., Kintala, C., and Bagchi, S. 2007. Improving dependability using shared supplementary memory and opportunistic micro rejuvenation in multi-tasking embedded systems. In Proceedings of the 13th Pacific Rim International Symposium on Dependable Computing, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  106. Suzuki, H., Dohi, T., Kaio, N., and Trivedi, K. 2003. Maximizing interval reliability in operational software system with rejuvenation. In Proceedings of the 14th International Symposium Software Reliability Engineering, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  107. Tai, A., Alkalai, L., and Chau, S. 1999. On-board preventive maintenance: A design-oriented analytic study for long-life applications. Perform. Eval. 35, 3, 215--232. Google ScholarGoogle ScholarDigital LibraryDigital Library
  108. Tai, A., Tso, K., Sanders, W., and Chau, S. 2005. A performability-oriented software rejuvenation framework for distributed applications. In Proceedings of the International Conference Dependable Systems and Networks, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  109. Tsai, T., Vaidyanathan, K., and Gross, K. 2006. Low-overhead run-time memory leak detection and recovery. In Proceedings of the 12th Pacific Rim International Symposium Dependable Computing, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  110. Vaidyanathan, K., Harper, R., Hunter, S., and Trivedi, K. 2001. Analysis and implementation of software rejuvenation in cluster systems. Perform. Eval. Rev. 29, 1, 62--71. Google ScholarGoogle ScholarDigital LibraryDigital Library
  111. Vaidyanathan, K. and Trivedi, K. 1999. A measurement-based model for estimation of resource exhaustion in operational software systems. In Proceedings of the 10th International Symposium Software Reliability Engineering, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  112. Vaidyanathan, K. and Trivedi, K. 2005. A comprehensive model for software rejuvenation. IEEE Trans. Depend. Secure Comput. 2, 2. Google ScholarGoogle ScholarDigital LibraryDigital Library
  113. Valdes, A., Almgren, M., Cheung, S., Deswarte, Y., Dutertre, B., Levy, J., Saidi, H., Stavridou, V., and Uribe, T. 2003. An architecture for an adaptive intrusion-tolerant server. In Security Protocols Workshop. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 2845. Springer, pp. 158--178.Google ScholarGoogle Scholar
  114. Wang, D., Xie, W., and Trivedi, K. 2007. Performability analysis of clustered systems with rejuvenation under varying workload. Perform. Eval. 64, 3, 247--265. Google ScholarGoogle ScholarDigital LibraryDigital Library
  115. Wang, Y.-M., Huang, Y., Vo, K.-P., Chung, P.-Y., and Kintala, C. 1995. Checkpointing and its applications. In Digest of Papers for 25th International Symposium Fault-Tolerant Computing, 1995 (FTCS-25). Google ScholarGoogle ScholarDigital LibraryDigital Library
  116. Weimer, W. 2006. Exception-handling bugs in Java and a language extension to avoid them. In Advanced Topics in Exception Handling Techniques. Lecture Notes in Computer Science, vol. 4119. Springer, pp. 22--41. Google ScholarGoogle ScholarDigital LibraryDigital Library
  117. Wolter, K. and Reinecke, P. 2010. Stochastic models for dependable services. Electron. Notes Theoret. Comput. Sci. 261, 5--21. Google ScholarGoogle ScholarDigital LibraryDigital Library
  118. Xie, W., Hong, Y., and Trivedi, K. 2004. Software rejuvenation policies for cluster systems under varying workload. In Proceedings of the 10th IEEE Pacific Rim International Symposium on Dependable Computing, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  119. Xu, G., Bond, M., Qin, F., and Rountev, A. 2011. Leakchaser: Helping programmers narrow down causes of memory leaks. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI). 270--282. Google ScholarGoogle ScholarDigital LibraryDigital Library
  120. Xu, G. and Rountev, A. 2008a. Precise memory leak detection for java software using container profiling. In Proceedings of the International Conference on Software Engineering. 151--160. Google ScholarGoogle ScholarDigital LibraryDigital Library
  121. Xu, G. and Rountev, A. 2008b. Precise memory leak detection for Java software using container profiling. In Proceedings of the ACM/IEEE 30th International Conference on Software Engineering, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  122. Yoshimura, T., Yamada, H., and Kono, K. 2011. Can Linux be Rejuvenated without Reboots? In Proceedings of the IEEE 3rd International Workshop on Software Aging and Rejuvenation (WoSAR), 2011. 50--55. Google ScholarGoogle ScholarDigital LibraryDigital Library
  123. Zhang, H., Wu, G., Chow, K., Yu, Z., and Xing, X. 2011. Detecting resource leaks through dynamical mining of resource usage patterns. In Proceedings of the 41st International Conference on Dependable Systems and Networks Workshops (DSN-W), 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  124. Zhao, J. and Trivedi, K. 2011. Performance modeling of apache web server affected by aging. In Proceedings of the 3rd International Workshop on Software Aging and Rejuvenation (WoSAR), 2011. 56--61. Google ScholarGoogle ScholarDigital LibraryDigital Library
  125. Zhao, J., Trivedi, K., Wang, Y., and Chen, X. 2010. Evaluation of software performance affected by aging. In Proceedings of the IEEE 2nd International Workshop on Software Aging and Rejuvenation (WoSAR), 2010.Google ScholarGoogle Scholar

Index Terms

  1. A survey of software aging and rejuvenation studies

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Published in

            cover image ACM Journal on Emerging Technologies in Computing Systems
            ACM Journal on Emerging Technologies in Computing Systems  Volume 10, Issue 1
            Special Issue on Reliability and Device Degradation in Emerging Technologies and Special Issue on WoSAR 2011
            January 2014
            210 pages
            ISSN:1550-4832
            EISSN:1550-4840
            DOI:10.1145/2543749
            Issue’s Table of Contents

            Copyright © 2014 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 13 January 2014
            • Accepted: 1 November 2012
            • Revised: 1 September 2012
            • Received: 1 April 2012
            Published in jetc Volume 10, Issue 1

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article
            • Research
            • Refereed

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader