Skip to main content
Log in

A survey on software aging and rejuvenation in the cloud

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

The adoption of cloud computing for providing resource and delivering services is an irreversible trend. For most IT companies, the quality of provided services is strongly dependent on reliability and performance of the underlying cloud technologies. A widely studied problem that can greatly affect the user experience is runtime software aging, whose main countermeasure is a proactive maintenance action known as rejuvenation. This article reviews the effort conducted so far by the software aging and rejuvenation (SAR) community in the cloud domain. A set of 105 papers has been examined from three source digital libraries in order to have a clear view of the state of the art. The paper characterizes the cloud-related SAR literature according to four dimensions: the publication trends, the aging analysis methods and metrics, the rejuvenation solutions, the validation approach. Results witness an increasing interest in this area (with 58% of the studies published in the last 5 years), an equivalent role of measurement-based and model-based solutions for aging analysis (42 and 40 studies, respectively) and a prevalent interest for rejuvenation (76/105 of the studies deals with rejuvenation).

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17

Similar content being viewed by others

Notes

  1. The full list of venues is available at https://github.com/rpietrantuono/SQJ2018

  2. The count of citations is taken from the three digital libraries we used, Sciverse Scopus, IEEEXplore, and ACM DL

  3. The number of papers is 90 because 2 papers adopt both a model-based and a measurement-based approach.

  4. The counting excludes the 8 hybrid studies, discussed later. Also, the sum is 46 instead of 40 because 6 studies adopt 2 formalisms each.

References

  • Alonso, J., Matias, R., Vicente, E., Maria, A., Trivedi, K. (2013). A comparative experimental study of software rejuvenation overhead. Performance Evaluation, 70(3), 231–250.

    Article  Google Scholar 

  • Araujo, J., Matos, R., Maciel, P., Vieira, F., Matias, R., Trivedi, K. (2011). Software rejuvenation in Eucalyptus cloud computing infrastructure: a method based on time series forecasting and multiple thresholds. In Third international workshop on software aging and rejuvenation (WoSAR) (pp. 38–43). IEEE.

  • Araujo, J., Matos, R., Alves, V., Maciel, P., Vieira de Souza, F., Matias, R. Jr., Trivedi, K.S. (2014). Software aging in the Eucalyptus cloud computing infrastructure: characterization and rejuvenation. ACM Journal on Emerging Technologies in Computing Systems, 10(1), 11:1–11:22.

    Article  Google Scholar 

  • Avresky, D.R., Sanzo, P.D., Pellegrini, A., Ciciani, B., Forte, L. (2015). Proactive scalability and management of resources in hybrid clouds via machine learning. In 14th International Symposium on Network Computing and Applications (NCA) (pp. 114–119). IEEE.

  • Bartoletti, D. (2019). Predictions 2019: cloud computing comes of age as the foundation for enterprise digital transformation. [Online]. Available: https://go.forrester.com/blogs/predictions-2019-cloud-computing/.

  • Bovenzi, A., Cotroneo, D., Pietrantuono, R., Russo, S. (2011). Workload characterization for software aging analysis. In 22nd International Symposium on Software Reliability Engineering (ISSRE) (pp. 240–249). IEEE.

  • Bovenzi, A., Cotroneo, D., Pietrantuono, R., Russo, S. (2012). On the aging effects due to concurrency bugs: a case study on MySQL. In 2012 IEEE 23rd International Symposium on Software Reliability Engineering (pp. 211–220).

  • Bruneo, D., Distefano, S., Longo, F., Puliafito, A., Scarpa, M. (2013). Workload-based software rejuvenation in cloud systems. IEEE Transactions on Computers, 62(6), 1072–1085.

    Article  MathSciNet  Google Scholar 

  • Cavezza, D.G., Pietrantuono, R., Alonso, J., Russo, S., Trivedi, K.S. (2014). Reproducibility of environment-dependent software failures: an experience report. In 2014 IEEE 25th International Symposium on Software Reliability Engineering (pp. 267–276).

  • Chang, X., Zhang, Z., Li, X., Trivedi, K.S. (2016). Model-based survivability analysis of a virtualized system. In IEEE 41st Conference on Local Computer Networks (LCN) (pp. 611–614).

  • Chen, Z., Chang, X., Han, Z., Li, L. (2018). Survivability modeling and analysis of cloud service in distributed data centers. The Computer Journal, 61(9), 1296–1305.

    Article  Google Scholar 

  • Columbus, L. (2018). Forrester’s 10 cloud computing predictions for 2018. [Online]. Available: https://www.forbes.com/sites/louiscolumbus/2017/11/07/forresters-10-cloud-computing-predictions-for-2018/#58f8da6d4ae1.

  • Cotroneo, D., Natella, R., Pietrantuono, R. (2012). Predicting aging-related bugs using software complexity metrics. Performance Evaluation, 70(3), 163–178.

    Article  Google Scholar 

  • Cotroneo, D., Orlando, S., Pietrantuono, R., Russo, S. (2013). A measurement-based ageing analysis of the JVM. Software Testing, Verification and Reliability, 23(3), 199–239.

    Article  Google Scholar 

  • Cotroneo, D., Natella, R., Pietrantuono, R., Russo, S. (2014). A survey of software aging and rejuvenation studies. ACM Journal on Emerging Technologies in Computing Systems, 10(1), 8:1–8:34.

    Article  Google Scholar 

  • Cotroneo, D., Fucci, F., Iannillo, A.K., Natella, R., Pietrantuono, R. (2016). Software aging analysis of the Android mobile OS. In 2016 IEEE 27th International Symposium on Software Reliability Engineering (ISSRE) (pp. 478–489).

  • Dabrowsk, C., & Mills, K. (2011). VM leakage and orphan control in open-source clouds. In IEEE Third International Conference on Cloud Computing Technology and Science (CloudCom) (pp. 554–559). IEEE.

  • DeCelles, S., Huang, T., Stamm, M.C., Kandasamy, N. (2016). Detecting incipient faults in software systems: a compressed sampling-based approach. In 9th IEEE International Conference on Cloud Computing (CLOUD) (pp. 303–310). IEEE.

  • Escheikh, M., Tayachi, Z., Barkaoui, K. (2016). Workload-dependent software aging impact on performance and energy consumption in server virtualized systems. In 27th International Symposium on Software Reliability Engineering Workshops (ISSREW) (pp. 111–118). IEEE.

  • Escheikh, M., Barkaoui, K., Jouini, H. (2017). Versatile workload-aware power management performability analysis of server virtualized systems. Journal of Systems and Software, 125, 365–379.

    Article  Google Scholar 

  • Ficco, M., Pietrantuono, R., Russo, S. (2018). Aging-related performance anomalies in the Apache storm stream processing system. Future Generation Computer Systems, 86, 975–994.

    Article  Google Scholar 

  • Grottke, M., Matias, R., Trivedi, K. (2008). The fundamentals of software aging. In IEEE International Conference on Software Reliability Engineering Workshops.

  • Han, L., & guo Xu, J. (2013). Availability models for virtualized systems with rejuvenation. Journal of Computational Information Systems, 9(20), 8389–8396.

    Google Scholar 

  • Huang, T., Kandasamy, N., Sethu, H., Stamm, M. (2016). An efficient strategy for online performance monitoring of datacenters via adaptive sampling. IEEE Transactions on Cloud Computing (Early Access).

  • Kadirvel, S., & Fortes, J.A.B. (2010). Self-caring IT systems: a proof-of-concept implementation in virtualized environments. In IEEE Second International Conference on Cloud Computing Technology and Science (CloudCom) (pp. 433–440). IEEE.

  • Kitchenham, B., & Brereton, P. (2013). A systematic review of systematic review process research in software engineering. Information and Software Technology, 55(12), 2049–2075.

    Article  Google Scholar 

  • Kourai, K. (2007). A fast rejuvenation technique for server consolidation with virtual machines. In 37th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN) (pp. 245–255). IEEE.

  • Kourai, K. (2010). CacheMind: fast performance recovery using a virtual machine monitor. In 2010 International Conference on Dependable Systems and Networks Workshops (DSN-W) (pp. 86–92). IEEE.

  • Kourai, K., & Chiba, S. (2011). Fast software rejuvenation of virtual machine monitors. IEEE Transactions on Dependable and Secure Computing, 8(6), 839–851.

    Article  Google Scholar 

  • Kourai, K., & Ooba, H. (2015). Zero-copy migration for lightweight software rejuvenation of virtualized systems. In Proceedings of the 6th Asia-Pacific Workshop on Systems (APSys) (pp. 7:1–7:8). ACM.

  • Le, M., & Tamir, Y. (2012). Applying microreboot to system software. In Sixth International Conference on Software Security and Reliability (SERE) (pp. 11–20). IEEE.

  • Liu, F., Cao, J., Guo, J., Zhang, B. (2013). Research the measurement method of software aging in cloud. Applied Mechanics and Materials, 392, 779–782.

    Article  Google Scholar 

  • Liu, Y., Liu, W., Song, J., He, H. (2015). An empirical study on implementing highly reliable stream computing systems with private cloud. Ad Hoc Networks, 35(C), 37–50.

    Article  Google Scholar 

  • Machida, F. (2013). Modeling and analysis of software rejuvenation in a server virtualized system with live VM migration. Performance Evaluation, 70(3), 212–230.

    Article  Google Scholar 

  • Machida, F. (2014). Job completion time on a virtualized server with software rejuvenation. ACM Journal on Emerging Technologies in Computing Systems, 10(1), 10:1–10:26.

    Article  MathSciNet  Google Scholar 

  • Machida, F., Kim, D.S., Trivedi, K.S. (2010). Modeling and analysis of software rejuvenation in a server virtualized system. In Second International Workshop on Software Aging and Rejuvenation (WoSAR). IEEE.

  • Machida, F., Nicola, V.F., Trivedi, K.S. (2011). Job completion time on a virtualized server subject to software aging and rejuvenation. In Third international Workshop on Software Aging and Rejuvenation (WoSAR) (pp. 44–49). IEEE.

  • Machida, F., Xiang, J., Tadano, K., Maeno, Y. (2012a). Combined server rejuvenation in a virtualized data center. In 9th International Conference on Ubiquitous Intelligence & Computing and 9th International Conference on Autonomic & Trusted Computing (UIC/ATC) (pp. 486–493). IEEE.

  • Machida, F., Xiang, J., Tadano, K., Maeno, Y. (2012b). Software life-extension: a new countermeasure to software aging. In 23rd International Symposium on Software Reliability Engineering (ISSRE) (pp. 131–140). IEEE.

  • Melo, M., Araujo, J., Matos, R., Menezes, J., Maciel, P. (2013a). Comparative analysis of migration-based rejuvenation schedules on cloud availability. In IEEE International Conference on Systems, Man, and Cybernetics (SMC) (pp. 4110–4115). IEEE.

  • Melo, M., Maciel, P., Araujo, J., Matos, R., Araujo, C. (2013b). Availability study on cloud computing environments: live migration as a rejuvenation mechanism. In 43rd Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN). IEEE.

  • Mohan, B.R., & Reddy, G.R.M. (2015). The effect of software aging on power usage. In 9th International Conference on Intelligent Systems and Control (ISCO). IEEE.

  • Myint, M., & Thein, T. (2010). Availability improvement in virtualized multiple servers with software rejuvenation and virtualization. In Fourth International Conference on Secure Software Integration and Reliability Improvement (SSIRI) (pp. 156–162). IEEE.

  • Nguyen, T.A., Kim, D.S., Park, J.S. (2014). A comprehensive availability modeling and analysis of a virtualized servers system using stochastic reward nets. The Scientific World Journal.

  • Okamura, H., Yamamoto, K., Dohi, T. (2014). Transient analysis of software rejuvenation policies in virtualized system: phase-type expansion approach. Quality Technology & Quantitative Management, 11(3), 335–351.

    Article  Google Scholar 

  • Petersen, K., Vakkalanka, S., Kuzniarz, L. (2015). Guidelines for conducting systematic mapping studies in software engineering: an update. Information and Software Technology, 64, 1–18.

    Article  Google Scholar 

  • Pietrantuono, R., & Russo, S. (2018). Software aging and rejuvenation in the cloud: a literature review. In 29th International Symposium on Software Reliability Engineering Workshops (ISSREW) (pp. 257–263). IEEE.

  • Rahme, J., & Xu, H. (2015). A software reliability model for cloud-based software rejuvenation using dynamic fault trees. International Journal of Software Engineering and Knowledge Engineering, 25(09n10), 1491–1513.

    Article  Google Scholar 

  • Rezaei, A., & Sharifi, M. (2010). Rejuvenating high available virtualized systems. In 5th International Conference on Availability, Reliability, and Security (ARES) (pp. 289–294). IEEE.

  • Silva, L., Alonso, J., Torres, J. (2009). Using virtualization to improve software rejuvenation. IEEE Transactions on Computers, 58(11), 1525–1538.

    Article  MathSciNet  Google Scholar 

  • Simeonov, D., & Avresky, D.R. (2010). Proactive software rejuvenation based on machine learning techniques. In Avresky, DR, Diaz, M, Bode, A, Ciciani, B, Dekel, E (Eds.) Cloud computing. CloudComp 2009, ser. Lecture notes of the institute for computer sciences, social-informatics and telecommunications engineering, (Vol. 34 pp. 186–200): Springer.

  • Sudhakar, C., Shah, I., Ramesh, T. (2014). Software rejuvenation in cloud systems using neural networks. In International Conference on Parallel, Distributed and Grid Computing (PDGC) (pp. 230–233). IEEE.

  • Sukhwani, H., Matias, R., Trivedi, K.S., Rindos, A. (2017). Monitoring and mitigating software aging on IBM cloud controller system. In 28th International Symposium on Software Reliability Engineering Workshops (ISSREW) (pp. 266–272). IEEE.

  • Tan, Y., Luo, D., Wang, J. (2010). CC-VIT: virtualization intrusion tolerance based on cloud computing. In 2nd International Conference on Information Engineering and Computer Science (ICIECS). IEEE.

  • Thein, T., & Park, J.S. (2009). Availability analysis of application servers using software rejuvenation and virtualization. Journal of Computer Science and Technology, 24(2), 339–346.

    Article  Google Scholar 

  • Thein, T., Chi, S., Park, J.S. (2008). Availability modeling and analysis on virtualized clustering with rejuvenation. International Journal of Computer Science and Network Security, 8(9), 72–80.

    Google Scholar 

  • Torquato, M., Maciel, P., Araujo, J., Umesh, I.M. (2017). An approach to investigate aging symptoms and rejuvenation effectiveness on software systems. In 12th Iberian Conference on Information Systems and Technologies (CISTI). IEEE.

  • Torquato, M., Umesh, I.M., Maciel, P. (2018). Models for availability and power consumption evaluation of a private cloud with VMM rejuvenation enabled by VM live migration. The Journal of Supercomputing, 74(9), 4817–4841.

    Article  Google Scholar 

  • Umesh, I.M., & Srinivasan, G.N. (2016). Optimum software aging prediction and rejuvenation model for virtualized environment. Indonesian Journal of Electrical Engineering and Computer Science, 3(3), 572–578.

    Article  Google Scholar 

  • Umesh, I.M., & Srinivasan, G.N. (2017). Dynamic software aging detection-based fault tolerant software rejuvenation model for virtualized environment, ser. Advances in intelligent systems and computing (Vol. 469, pp. 779–787). Singapore: Springer.

    Google Scholar 

  • Villalobos, J.J., Rodero, I., Parashar, M. (2014). Energy-aware autonomic framework for cloud protection and self-healing. In International Conference on Cloud and Autonomic Computing (ICCAC) (pp. 3–4). IEEE.

  • Wohlin, C., Runeson, P., da Mota Silveira Neto, P.A., Engstrom, E., do Carmo Machado, I., de Almeida, E.S. (2013). On the reliability of mapping studies in software engineering. Journal of Systems and Software, 86(10), 2594–2610.

    Article  Google Scholar 

  • Wu, H., & Wolter, K. (2015). Software aging in mobile devices: partial computation offloading as a solution. In 26th International Symposium on Software Reliability Engineering Workshops (ISSREW) (pp. 125–131). IEEE.

  • Xia, Y., Han, Y., Zhou, M., Li, J. (2014). A stochastic model for performance and energy consumption analysis of rejuvenation and migration-enabled cloud. In Proc. of the 2014 International Conference on Advanced Mechatronic Systems (pp. 139–144). IEEE.

  • Xu, J., Li, X., Zhong, Y., Zhang, H. (2014a). Availability modeling and analysis of a single-server virtualized system with rejuvenation. Journal of Software, 9 (1), 129–139.

    Article  Google Scholar 

  • Xu, J., wen Wu, W., yi Ma, C. (2014b). SOM-based aging detection for virtual machine monitor. In IEEE Workshop on Electronics, Computer and Applications (pp. 782–785). IEEE.

  • Zhao, J., Wang, Y.-B., Ning, G.-R., Wang, C.-H., Trivedi, K.S., Cai, K. -Y., Zhang, Z.-Y. (2014). Software maintenance optimization based on Stackelberg game methods. In IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW) (pp. 426–430). IEEE.

Download references

Funding

This work has been partially supported by the GAUSS Italian research project, funded by MIUR under the PRIN 2015 program.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Roberto Pietrantuono.

Additional information

Publisher’s note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Pietrantuono, R., Russo, S. A survey on software aging and rejuvenation in the cloud. Software Qual J 28, 7–38 (2020). https://doi.org/10.1007/s11219-019-09448-3

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-019-09448-3

Keywords

Navigation