QoE Doctor: Diagnosing Mobile App QoE with Automated UI Control and Cross-layer Analysis

Smartphones have become increasingly prevalent and important in our daily lives. To meet users' expectations about the Quality of Experience (QoE) of mobile applications (apps), it is essential to obtain a comprehensive understanding of app QoE and identify the critical factors that affect it. However, effectively and systematically studying the QoE of popular mobile apps such as Facebook and YouTube still remains a challenging task, largely due to a lack of a controlled and reproducible measurement methodology, and limited insight into the complex multi-layer dynamics of the system and network stacks. In this paper, we propose QoE Doctor, a tool that supports accurate, systematic, and repeatable measurements and analysis of mobile app QoE. QoE Doctor uses UI automation techniques to replay QoE-related user behavior, and measures the user-perceived latency directly from UI changes. To better understand and analyze QoE problems involving complex multi-layer interactions, QoE Doctor supports analysis across the application, transport, network, and cellular radio link layers to help identify the root causes. We implement QoE Doctor on Android, and systematically quantify various factors that impact app QoE, including the cellular radio link layer technology, carrier rate-limiting mechanisms, app design choices and user-side configuration options.

[1]  William Enck,et al.  AppsPlayground: automatic security analysis of smartphone applications , 2013, CODASPY.

[2]  Shobha Venkataraman,et al.  Prometheus: toward quality-of-experience estimation for mobile apps from passive network measurements , 2014, HotMobile.

[3]  Jie Liu,et al.  DECAF: Detecting and Characterizing Ad Fraud in Mobile Apps , 2014, NSDI.

[4]  Tobias Hoßfeld,et al.  Passive YouTube QoE Monitoring for ISPs , 2012, 2012 Sixth International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing.

[5]  Zhuoqing Morley Mao,et al.  Discovering fine-grained RRC state dynamics and performance impacts in cellular networks , 2014, MobiCom.

[6]  Feng Qian,et al.  Profiling resource usage for mobile applications: a cross-layer approach , 2011, MobiSys '11.

[7]  Feng Qian,et al.  Periodic transfers in mobile applications: network-wide origin, impact, and optimization , 2012, WWW.

[8]  Srinivasan Seshan,et al.  A quest for an Internet video quality-of-experience metric , 2012, HotNets-XI.

[9]  Gernot Heiser,et al.  An Analysis of Power Consumption in a Smartphone , 2010, USENIX Annual Technical Conference.

[10]  Selim Ickin,et al.  Factors influencing quality of experience of commonly used mobile applications , 2012, IEEE Communications Magazine.

[11]  Chun-Ying Huang,et al.  Quantifying Skype user satisfaction , 2006, SIGCOMM.

[12]  Feng Qian,et al.  TOP: Tail Optimization Protocol For Cellular Radio Resource Allocation , 2010, The 18th IEEE International Conference on Network Protocols.

[13]  Ming Zhang,et al.  Where is the energy spent inside my app?: fine grained energy accounting on smartphones with Eprof , 2012, EuroSys '12.

[14]  Zhuoqing Morley Mao,et al.  Understanding RRC state dynamics through client measurements with mobilyzer , 2014, S3 '14.

[15]  Feng Qian,et al.  Characterizing resource usage for mobile web browsing , 2014, MobiSys.

[16]  Ratul Mahajan,et al.  AppInsight: Mobile App Performance Monitoring in the Wild , 2022 .

[17]  Narseo Vallina-Rodriguez,et al.  RILAnalyzer: a comprehensive 3G monitor on your phone , 2013, Internet Measurement Conference.

[18]  Iulian Neamtiu,et al.  Targeted and depth-first exploration for systematic testing of android apps , 2013, OOPSLA.

[19]  Songwu Lu,et al.  Accounting for roaming users on mobile data access: issues and root causes , 2013, MobiSys '13.

[20]  Feng Qian,et al.  Characterizing radio resource allocation for 3G networks , 2010, IMC '10.

[21]  Ranveer Chandra,et al.  Contextual Fuzzing: Automated Mobile App Testing Under Dynamic Device and Environment Conditions , 2013 .

[22]  Ramesh K. Sitaraman,et al.  Understanding the effectiveness of video ads: a measurement study , 2013, Internet Measurement Conference.

[23]  Suman Nath,et al.  Automatic and scalable fault detection for mobile applications , 2014, MobiSys.

[24]  Hari Balakrishnan,et al.  Stochastic Forecasts Achieve High Throughput and Low Delay over Cellular Networks , 2013, NSDI.

[25]  Jason Flinn,et al.  AMC: verifying user interface properties for vehicular applications , 2013, MobiSys '13.

[26]  Peter A. Dinda,et al.  Panappticon: Event-based tracing to measure mobile application and platform performance , 2013, 2013 International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[27]  Qiang Xu,et al.  PROTEUS: network performance forecast for real-time, interactive mobile applications , 2013, MobiSys '13.

[28]  Mayur Naik,et al.  Dynodroid: an input generation system for Android apps , 2013, ESEC/FSE 2013.

[29]  Lei Yang,et al.  Accurate online power estimation and automatic battery behavior based power model generation for smartphones , 2010, 2010 IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[30]  Ratul Mahajan,et al.  Timecard: controlling user-perceived delays in server-based mobile applications , 2013, SOSP.

[31]  Feng Qian,et al.  A close examination of performance and power characteristics of 4G LTE networks , 2012, MobiSys '12.

[32]  Suman Nath,et al.  PUMA: programmable UI-automation for large-scale dynamic analysis of mobile apps , 2014, MobiSys.

[33]  Jaideep Chandrashekar,et al.  Predicting user dissatisfaction with Internet application performance at end-hosts , 2013, 2013 Proceedings IEEE INFOCOM.

[34]  Srinivasan Seshan,et al.  Developing a predictive model of quality of experience for internet video , 2013, SIGCOMM.