Надіслати статтю
вул. Інститутська 11, м. Хмельницький, 29016

ДОСЛІДЖЕННЯ СИСТЕМНИХ ПРОЦЕСІВ ТА КОРИСТУВАЦЬКИХ ДОДАТКІВ ОПЕРАЦІЙНОЇ СИСТЕМИ ANDROID В КОНТЕКСТІ ЯВИЩА СТАРІННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ

RESEARCH OF SOFTWARE AGING IN ANDROID SYSTEM PROCESSES AND USER APPLICATIONS

Сторінки: 64-70. Номер: №2, 2021 (295)
Автори:
В.С. ЯКОВИНА, Б.В. УГРИНОВСЬКИЙ
Національний університет «Львівська політехніка»
VITALIY S. YAKOVYNA, BOHDAN V. UHRYNOVSKYI
Lviv Polytechnic National University
DOI: https://www.doi.org/10.31891/2307-5732-2021-295-2-64-70
Рецензія/Peer review : 23.03.2021 р.
Надрукована/Printed : 02.06.2021 р.
Анотація мовою оригіналу
В роботі наведено результати досліджень явища старіння програмного забезпечення в операційній системі Android. Виконано аналіз оцінки oom_adj_score та на її основі виділено дві групи: системні процеси та користувацькі додатки. Аналіз системних процесів показав, що індикаторами старіння є процеси system_server та surfaceflinger, а також com.android.phone, cameraserver у випадку активного використання додатків телефонної книги та камери. В свою чергу, користувацькі додатки також вразливі до явища старіння, що спостерігається в можливих витоках пам’яті та помилках відображення кадрів UI. Запропоновано застосувати розглянуті системні процеси в процедурі омолодження програмного забезпечення, а для користувацьких додатків реалізувати засоби, які б забезпечили розробників інформацією про стан старіння системи для можливості побудови алгоритмів з урахуванням цього стану.
Ключові слова: старіння програмного забезпечення, метрики старіння, омолодження програмного забезпечення, операційна система, Android.

Розширена анотація англійською мовою

Android operating system is vulnerable to the aging-related effects such as performance degradation and increased of aging-related failures rate due prolonged usage of a mobile device without rebooting. This paper considers software aging phenomenon in system processes and user applications of the Android operating system and means for counteracting this phenomenon. Experimental research was performed using a methodology that consists in performing stress tests on mobile applications, collecting system data on running processes, converting the collected data into time series for the relevant metrics and analyzing these data using statistical methods. Thus, the analysis of oom_adj_score for determining processes priorities in the context of software aging allowed to identify two groups of processes, namely system processes and user applications. It is also pointed out the possibility of using oom_adj_score to determine the state of system usage in the tasks of software aging predicting and performing software rejuvenation. The results of the system processes analysis showed that the indicators of aging are system_server and surfaceflinger processes, as well as com.android.phone, cameraserver in the case of active use of contacts and camera applications. The considered processes can be used to implement software rejuvenation. Research has shown that user applications are also vulnerable to aging-related effects, but the rejuvenation procedure cannot be applied to them at the system level. It is important to take steps to prevent aging-related errors, such as using appropriate data structures and algorithms for efficient memory management, minimizing the load on the main UI stream, and using effective graphics techniques to reduce the number of delayed frames. In future works it is important to investigate the considered system processes and services in tasks of software aging forecasting and performing of rejuvenation procedure. It is important for user applications to develop tools that provide developers with information about the state of software aging in the system, which would allow to decide on the feasibility of performing important and resource-intensive tasks in conditions when the system is already in a state with a high probability of aging-related failure.
Keywords:  software aging, aging metrics, software rejuvenation, operating system, Android.

References

  1. Parnas D. L. Software aging / L. Parnas // Proceedings of 16th International Conference on Software Engineering. – 1994. – P. 279-287. URL: https://doi.org/10.1109/ICSE.1994.296790
  2. Huang Software rejuvenation: analysis, module and applications / Y. Huang, C. Kintala, N. Kolettis, N. Fulton // Proceedings of Twenty-Fifth International Symposium on Fault-Tolerant Computing. – 1995. – P. 381–390. URL: https://doi.org/10.1109/FTCS.1995.466961
  3. Dohi Handbook of software aging and rejuvenation / T. Dohi, K. Trivedi, A. Avritzer // World Scientific Publishing Co Pte Ltd. – 2020. – P. 424. URL: https://doi.org/10.1142/11673
  4. Grottke The fundamentals of software aging / M. Grottke, R. M. Jr, K. S. Trivedi // IEEE International Conference on Software Reliability Engineering Workshops. – 2008. – P. 1-6. URL: https://doi.org/10.1109/ISSREW.2008.5355512
  5. Cotroneo Software aging analysis of the android mobile os / D. Cotroneo, F. Fucci, A. K. Iannillo, R. Natella, R. Pietrantuono // IEEE 27th International Symposium on Software Reliability Engineering. – 2016. – P.478‑489. URL: https://doi.org/10.1109/ISSRE.2016.25
  6. Cotroneo D. A Comprehensive Study on Software Aging across Android Versions and Vendors / D. Cotroneo, A. K. Iannillo, R. Natella, R. Pietrantuono // Empirical Software Engineering. – 2020. – Volume 25(3). ‑P. 3357-3395.
  7. Yakovyna V. S. Starinnia prohramnoho zabezpechennia mobilnykh dodatkiv: analiz problematyky / V.S. Yakovyna, B. V. Uhrynovskyi // Naukovyi visnyk NLTU Ukrainy. – № 30(2). – S. 107–112. URL: https://doi.org/10.36930/40300219
  8. Cotroneo D. A Configurable Software Aging Detection and Rejuvenation Agent for Android / Cotroneo D., Simone, L. D., Natella, R., Pietrantuono, R., Russo, S. // 11th Intl Workshop on Software Aging and Rejuvenation (WoSAR). – 2019. URL: https://doi.org/10.1109/ISSREW.2019.00078
  9. Abdullah H. Software Ageing Prevention from Software Maintenance Perspective – A Review / Z.H. Abdullah, J. H. Yahaya, Z. Mansor, A. Deraman // Journal of Telecommunication, Electronic and Computer Engineering. – 2017. – Volume 9(3-4). – P. 93-96.
  10. Wu Software aging in mobile devices: Partial computation offloading as a solution / H. Wu, K. Wolter // IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW). – 2015. – P. 125–131. URL: https://doi.org/10.1109/ISSREW.2015.7392057
  11. Yakovyna S. User-Perceived Response Metrics in Android OS for Software Aging detection / V.S. Yakovyna, B. V. Uhrynovskyi // IEEE 15th International Conference on Computer Sciences and Information Technologies (CSIT). – 2020. URL: https://doi.org/10.1109/CSIT49958.2020.9322031
  12. Test UI Performance – Android URL:  https://developer.android.com/training/testing/performance
  13. Memory allocation among processes – Android Developers. URL: https://developer.android.com/topic/performance/memory-management
  14. Garg A Methodology for Detection and Estimation of Software Aging / S. Garg, A. V. Moorsel, K. Vaidyanathan, K. S. Trivedi // Proc. of the 9th Intl. Symp. on Software Reliability Engineering (ISSRE). – 1998

Post Author: npetliaks

Translate