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.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call