Mobile systems and devices including Android are vulnerable to the effects of software aging which are manifested in performance degradation during long run-time. It is important to identify efficient system and user interface metrics for detecting and counteracting the software aging effects. The aging metrics used in researches of the Android operating system do not take into account the aging processes in user applications. Therefore, this paper discusses two new graphical user interface metrics that allow to track performance degradation and user applications response time: Frame Draw Time and Janky Frames (dropped or delayed frames). Test framework was implemented to perform stress testing of mobile applications in the Android operating system, to collect system state data during stress test performing and to map obtained raw data into time series. Calculated time series are used for further analysis and study of system and graphical user interface metrics. The considered metrics have been compared to the previously used Android Activity Launch Time metric and RAM usage metrics. Practical results have shown that Frame Draw Time and Janks Frames metrics provide data, which can be useful in most scenarios of mobile application using. Therefore, it is proposed to use the two new metrics in combination with other previously used metrics to detect aging trends in the system state and to study the phenomenon of software aging in general. It is noted that the Frame Draw Time metric value can be mapped to states with determined thresholds for transition between these states. These states and thresholds provide the possibility of developing mathematical models based on Markov chains or forecasting the time to aging-failure using regression methods. The need of further study of the correlations between Frame Draw Time metric, Janky Frames metric and metrics of memory usage by different system processes has been identified. Thus, the expediency of using the proposed metrics in future studies of the aging phenomenon in the Android operating system is substantiated, in particular, the effectiveness of the proposed metrics could be checked for different mobile use cases and for different types of mobile applications.
- Dohi, T., & Trivedi, K., & Avritzer, A. (2020). Handbook of software aging and rejuvenation. World Scientific Publishing Co Pte Ltd, 424. https://doi.org/10.1142/11673. phttps://doi.org/10.1142/11673
- Grottke, M., & Jr, R. M., & Trivedi, K. S. (2008). The fundamentals of software aging. IEEE International Conference on Software Reliability Engineering Workshops, 1-6. https://doi.org/10.1109/ISSREW.2008.5355512. phttps://doi.org/10.1109/ISSREW.2008.5355512
- Abdullah, Z. H., & Yahaya, J. H., & Mansor, Z., & Deraman, A. (2017). Software Ageing Prevention from Software Maintenance Perspective - A Review. Journal of Telecommunication, Electronic and Computer Engineering. 9 (3-4), 93-96.
- Polovko, A.M., & Gurov, S.V. (2008). Fundamentals of Reliability Theory. St.Petersburg: BHV-Petersburg, 704.
- Bao, Y., & Sun, X., & Trivedi, K. S. (2005). A workload-based analysis of software aging and rejuvenation. IEEE Transactions on Reliability. 54 (3), 541-548. https://doi.org/10.1109/TR.2005.853442. phttps://doi.org/10.1109/TR.2005.853442
- Cotroneo, D., & Simone, L. D., & Natella, R., & Pietrantuono, R., & Russo, S. (2019). A Configurable Software Aging Detection and Rejuvenation Agent for Android. 11th Intl Workshop on Software Aging and Rejuvenation (WoSAR). https://doi.org/10.1109/ISSREW.2019.00078. phttps://doi.org/10.1109/ISSREW.2019.00078
- Yakovyna, V. S., & Uhrynovskyi, B. V. (2019). Software aging in the context of its reliability: a systematic review. Scientific Bulletin of UNFU, 29(5), 123-128. https://doi.org/10.15421/40290525. phttps://doi.org/10.15421/40290525
- Yakovyna, V. S., & Uhrynovskyi, B. V. (2020). Software aging in the context of reliability: a review of the issue. Scientific Bulletin of UNFU, 30(2), 107-112. https://doi.org/10.36930/40300219. phttps://doi.org/10.36930/40300219
- International Data Corporation. (n. d.). Smartphone OS market share. http://www.idc.com/promo/smartphone-market-share/os
- Araujo, J., & Alves, V., & Oliveira, D., & Dias, P., & Silva, B., Maciel, P., (2013). An Investigative Approach to Software Aging in Android Applications. IEEE International Conference on Systems, Man, and Cybernetics. https://doi.org/10.1109/SMC.2013.213. phttps://doi.org/10.1109/SMC.2013.213
- Cotroneo, D., & Fucci, F., & Iannillo, A. K., & Natella, R., & Pietrantuono, R., (2016). Software aging analysis of the android mobile os. IEEE 27th International Symposium on Software Reliability Engineering, 478-489. https://doi.org/10.1109/ISSRE.2016.25. phttps://doi.org/10.1109/ISSRE.2016.25
- Xianga, J., & Wenga, C., & Zhaoa, D., & Tiana, J., & Xionga, S., & Lia, L., & Andrzejak, A., (2019). A New Software Rejuvenation Model for Android. IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW). https://doi.org/10.1109/ISSREW.2018.00021. phttps://doi.org/10.1109/ISSREW.2018.00021
- Wu, H., & Wolter, K. (2015). Software aging in mobile devices: Partial computation offloading as a solution. IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW), 125-131. https://doi.org/10.1109/ISSREW.2015.7392057. phttps://doi.org/10.1109/ISSREW.2015.7392057
- Android Developers. (n. d.). Logcat command-line tool. https://developer.android.com/studio/command-line/logcat
- Android Developers. (n. d.). Android Debug Bridge. https://developer.android.com/studio/command-line/adb
- Android Developers. (n. d.). Dumpsys - Android Developers. https://developer.android.com/studio/command-line/dumpsys
- Android Developers. (n. d.). UI/Application Exerciser Monkey. https://developer.android.com/studio/test/monkey