Skip to main content
Log in

Software aging and rejuvenation in android: new models and metrics

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

Android users are occasionally troubled by the slow UI responses and sudden application/OS crashes. These problems are mainly caused by software aging, a phenomenon of progressive degradation of performance and dependability typically observed in long-running software systems. A countermeasure to software aging is software rejuvenation, i.e., manual or scheduled restart at different levels, such as application, OS, and device. Various software aging and rejuvenation models have been proposed for different software systems. However, these traditional models cannot be applied in the context of mobile devices, as they seldom consider the patterns of usage behavior and user experience specific to mobile phones. We address this problem based on the observations that the usage time of mobile phones is typically fragmented in daily life, with frequent and periodical switches between active and sleep modes, and that the user experience on fluent operation in the active mode is a key concern for mobile users. These insights are exploited to model the usage behavior and aging process by individual Stochastic Petri-Nets, and then to compose them into a Continuous Time Markov Chain (CTMC). Furthermore, we propose proactive rejuvenation strategies based on such CTMCs to achieve the best user experience and the least user interference, such as restarting the device when it is in sleep mode and before it enters an aged state. To consider user experience - a key concern of mobile users which is still less prominent in traditional dependability measurements – we propose new related metrics: for fluency (i.e., the probability that a phone offers a fast UI response to the users), and for the degree of overall user experience. We demonstrate the effectiveness and advantages of the proposed models and metrics via simulations as well as an empirical study.

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

Similar content being viewed by others

References

  • Alonso, J., Silva, L., Andrzejak, A., Silva, P., & Torres, J. (2007). High-available Grid services through the use of virtualized clustering, IEEE-GRID (pp. 34–41). Austin, USA.

  • Alonso, J., Belanche, L., & Avresky, D. R. (2011). Predicting software anomalies using machine learning techniques. In 2011 IEEE 10th international symposium on network computing and applications (pp. 163–170).

    Chapter  Google Scholar 

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

    Article  Google Scholar 

  • An, C., & Rockmore, D. (2016). Predicting phone usage behaviors with sensory data using a hierarchical generative model. In Trends and applications in knowledge discovery and data mining (pp. 75–87). Cham.

  • Andrzejak, A., & Silva, L. (2008). Using machine learning for non-intrusive modeling and prediction of software aging. 11th IEEE/IFIP Network Operations and Management Symposium (NOMS), 25–32.

  • Andrzejak, A., Moser, M., & Silva, L. (2007). Managing performance of aging applications via synchronized replica rejuvenation. 18th IFIP/IEEE Distributed Systems: Operations and Management (DSOM), 98–109.

  • Andrzejak, A., Eichler, F., & Ghanavati, M. (2017). Detection of memory leaks in C/C++ code via machine learning. 9th International Workshop on Software Aging and Rejuvenation (WoSAR), 252–258.

  • Araujo, J., Matos, R., Maciel, P., & Matias, R. (2011). Software aging issues on the eucalyptus cloud computing infrastructure. In 2011 IEEE international conference on systems, man, and cybernetics (pp. 1411–1416).

    Chapter  Google Scholar 

  • Araujo, J., Alves, V., Oliveira, D., Dias, P., Silva, B., & Maciel, P. (2013). An investigative approach to software aging in android applications. In 2013 IEEE international conference on systems, man, and cybernetics (pp. 1229–1234).

    Chapter  Google Scholar 

  • Avizienis, A. (1985). The N-version approach to fault-tolerant software. IEEE Transactions on Software Engineering, SE-11(12), 1491–1501.

    Article  Google Scholar 

  • Avritzer, A., Bondi, A., Grottke, M., Trivedi, K. S., & Weyuker, E. J. (2006). Performance assurance via software rejuvenation: Monitoring, statistics and algorithms. In International conference on dependable systems and networks (DSN'06) (pp. 435–444).

    Chapter  Google Scholar 

  • Cassidy, K. J., Gross, K. C., & Malekpour, A. (2002). Advanced pattern recognition for detection of complex software aging phenomena in online transition processing servers. In Proceedings International Conference on Dependable Systems and Networks (pp. 478–482).

    Chapter  Google Scholar 

  • Cotroneo, D., Natella, R., Pietrantuono, R., & Russo, S. (2010). Software aging analysis of the Linux operating system. In 2010 IEEE 21st International Symposium on Software Reliability Engineering (pp. 71–80).

  • Cotroneo, D., Natella, R., Pietrantuono, R., & Russo, S. (2014). A survey of software aging and rejuvenation studies. Journal on Emerging Technologies in Computing Systems, 10(1), 1–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).

    Chapter  Google Scholar 

  • Dohi, T., Gogeva-Popstojanova, K., & Trivedi, K. (2001). Estimating software rejuvenation schedules in high-assurance systems. Computer Journal, 44(6), 473–485.

    Article  Google Scholar 

  • Frumusanu, A. (2017). Apple Confirms CPU Limitation in Aging Devices. AnandTech. Available: https://www.anandtech.com/show/12184/apple-confirms-cpu-limitation-in-ageing-devices. Last accessed at Dec. 10, 2018.

  • Frumusanu, A., & Cutress, I. (2018). Huawei & Honor;s recent benchmarking behaviour: a cheating headache. AnandTech. Available: https://www.anandtech.com/show/13318/huawei-benchmark-cheating-headache, Last accessed at Dec. 10, 2018.

  • S. Garg, A. v. Moorsel, K. Vaidyanathan, and K. S. Trivedi, "A methodology for detection and estimation of software aging," in Proceedings Ninth International Symposium on Software Reliability Engineering (Cat. No.98TB100257), 1998, pp. 283–292.

  • Grottke, M., Li, L., Vaidyanathan, K., & Trivedi, K. S. (2006). Analysis of software aging in a web server. IEEE Transitions on Reliability, 55(3), 411–420.

    Article  Google Scholar 

  • Guo, C., Wu, H., Hua, X., Lautner, D., & Ren, S. (2015). Use two-level rejuvenation to combat software aging and maximize average resource performance. In 2015 IEEE 17th international conference on high performance computing and communications (pp. 1160–1165).

    Google Scholar 

  • Huang, Y., Kintala, C., Kolettis, N., & Fulton, N. D. (1995). Software rejuvenation: Analysis, module and applications. In Twenty-Fifth International Symposium on Fault-Tolerant Computing. Digest of Papers (pp. 381–390).

    Chapter  Google Scholar 

  • Jouin, M., Gouriveau, R., Hissel, D., Péra, M.-C., & Zerhouni, N. (2016). Degradations analysis and aging modeling for health assessment and prognostics of PEMFC. Reliability Engineering & System Safety, 148, 78–95.

    Article  Google Scholar 

  • Kang, Y., Zhou, Y., Gao, M., Sun, Y., & Lyu, M. R. (2016). Experience report: Detecting poor-responsive UI in android applications. In 2016 IEEE 27th international symposium on software reliability engineering (ISSRE) (pp. 490–501).

    Chapter  Google Scholar 

  • Kourai, K., & Chiba, S. (2007). A fast rejuvenation technique for server consolidation with virtual machines. In 37th annual IEEE/IFIP international conference on dependable systems and networks (DSN'07) (pp. 245–255).

    Chapter  Google Scholar 

  • Machida, F., Xiang, J., Tadano, K., & Maeno, Y. (2012). Aging-related bugs in cloud computing software. In 2012 IEEE 23rd international symposium on software reliability engineering workshops (pp. 287–292).

    Chapter  Google Scholar 

  • Machida, F., Xiang, J., Tadano, K., & Maeno, Y. (2017). Lifetime extension of software execution subject to aging. IEEE Transitions on Reliability, 66(1), 123–134.

    Article  Google Scholar 

  • Magalhães, J. P., & Silva, L. M. (2010). Prediction of performance anomalies in web-applications based-on software aging scenarios. In 2010 IEEE second international workshop on software aging and rejuvenation (pp. 1–7).

    Google Scholar 

  • Matias, R., Barbetta, P. A., Trivedi, K. S., & Filho, P. J. F. (2010). Accelerated degradation tests applied to software aging experiments. IEEE Transitions on Reliability, 59(1), 102–114.

    Article  Google Scholar 

  • Meng, H., Liu, J., & Hei, X. (2015). Modeling and optimizing periodically inspected software rejuvenation policy based on geometric sequences. Reliability Engineering & System Safety, 133, 184–191.

    Article  Google Scholar 

  • No author. (2018). Global smartphone sales to end users from 1st quarter 2009 to 1st quarter 2018, by operating system (in million units) [Online]. Available: https://www.statista.com/statistics/266219/global-smartphone-sales-since-1st-quarter-2009-by-operating-system/. Last accessed at July 11, 2018.

  • Oris. (2018). [Online]. Available: https://www.oris-tool.org/.

  • Parnas, D. L. (1994). Software aging. Presented at the Proceedings of the 16th International Conference on Software Engineering, Sorrento, Italy.

  • Qiao, Y., Zheng, Z., & Qin, F. (2016). An empirical study of software aging manifestations in android. In 2016 IEEE international symposium on software reliability engineering workshops (ISSREW) (pp. 84–90).

    Chapter  Google Scholar 

  • Trivedi, K. S. (2014). Probability & Statistics with reliability, queuing and computer science applications (Second ed.). John Wiley & Sons, Inc.

  • Trivedi, K. S., Vaidyanathan, K., & Goseva-Popstojanova, K. (2000). Modeling and analysis of software aging and rejuvenation. In Proceedings 33rd annual simulation symposium (SS 2000) (pp. 270–279).

    Chapter  Google Scholar 

  • Vicario, E., Sassoli, L., & Carnevali, L. (2009). Using stochastic state classes in quanti- tative evaluation of dense-time reactive systems. IEEE Transactions on Software Engineering, 35(5), 703–719.

    Article  Google Scholar 

  • Weng, C., Xiang, J., Xiong, S., Zhao, D., & Yang, C. (2016). Analysis of software aging in android. In 2016 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW) (pp. 78–83).

    Chapter  Google Scholar 

  • Weng, C., Zhao, D., Lu, L., Xiang, J., Yang, C., & Li, D. (2017). A rejuvenation strategy in android. In 2017 IEEE international symposium on software reliability engineering workshops (ISSREW) (pp. 273–279).

    Chapter  Google Scholar 

  • Xiang, J., Weng, C., Zhao, D., Jiang, T., Xiong, S., Li, L., & Andrzejak, A. (2018). A new software rejuvenation model for android. In 2018 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW) (pp. 293–299).

    Chapter  Google Scholar 

  • Xie, W., Hong, Y., & Trivedi, K. (2005). Analysis of a two-level software rejuvenation policy. Reliability Engineering & System Safety, 87(1), 13–22.

    Article  Google Scholar 

Download references

Acknowledgements

This work was partially supported by the National Natural Science Foundation of China (Grant No. 61672398, 61806151), the Defense Industrial Technology Development Program (Grant No. JCKY2018110C165), the Hubei Provincial Natural Science Foundation of China (Grant No. 2017CFA012), and the Open Fund of Hubei Key Lab. of Transportation of IoT (Grant No. 2017III028-004).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jing Tian.

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

Xiang, J., Weng, C., Zhao, D. et al. Software aging and rejuvenation in android: new models and metrics. Software Qual J 28, 85–106 (2020). https://doi.org/10.1007/s11219-019-09475-0

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-019-09475-0

Keywords

Navigation