Abstract
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.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.