Font Size: a A A

Enabling Data-Driven Intelligence For Improving User Experience In Mobile Systems

Posted on:2019-05-23Degree:DoctorType:Dissertation
Country:ChinaCandidate:L ZhangFull Text:PDF
GTID:1368330551956902Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
The mobile era has fundamentally changed the way people live and interact with this world.And,one key enabler of the mobile era is mobile apps,e.g.,WeChat and Alipay.However,mobile app users have been suffering from poor user experience,such as app crashes,high energy drain,and privacy leaks.As a result,mobile app user experience largely determines the health of a mobile ecosystem.While mobile app stores(e.g.,Google Play Store and Apple Store)connect app developers and mobile users by managing the distribution of billions of mobile apps,we argue that app stores should take actions to proactively identify and rectify root causes of bad user experience.To this end,this dissertation takes a deep dive into building an end-to-end framework,which combines data-driven algorithms and system engineering to analyze and assist in optimizing mobile app behavior.Specifically,the main contributions of this dissertation can be summarized as follows.Firstly,as mobile apps are more likely to have failures and performance outliers at runtime,we propose an automatic data collection platform for four types of data:mobile user inputs,app-specific data,environmental conditions and device configurations.As collecting data for environmental conditions and device configurations are extremely challenging,we propose two services-RainDrops and ContextLib.RainDrops realizes a split-execution for building automated and contextual testing services for mobile apps.By offloading context-sensitive code to physical devices in the wild,this model allows the service to collect a wide range of data from real devices.ContextLib stores data of real-world environmental conditions and device configuration data by leveraging machine learning techniques.It identifies representative contexts by(1)determining the combinations of contexts that are likely to occur in the real world,and(2)removing redundant combinations of contexts.Empirical results suggest that real-world contexts help us to find more crashes and performance outliers.Secondly,we propose approaches to filter the data collected,and optimize the search space exploration.Our efforts resulted in three tools:(1)TARA to address UI automation test space explosion,(2)Snowdrop to generate service test data with the ap-propriate semantics from the vast solution space,(3)ContextPrioritizer to determine the subset of real-world contexts from ContextLib that can still discover important context-related crashes and performance bugs.Specifically,TARA proposes a novel approach based on code mining(i.e.,static code analysis)to infer automation UI paths potentially affected by adjusting privacy settings,before exercising app automation.Snowdrop re-alizes a service-oriented approach that automatically generates test data for service code path and leverages NLP-based heuristics to infer the meaning of program variables.ContextPrioritier learns from prior experience when prioritizing test cases for a fresh unseen test app.Empirical results suggest that(1)compared to the standard practice of random automation,TARA can achieve the same testing coverage,with an average of 85.3%less testing time.(2)Snowdrop can achieve the same code path coverage while reducing 76%of random test data.(3)ContextPrioritizer is able to find 41.1%more crashes than baselines within the same time budget.Lastly,we explore approaches to extract performance insights from mobile app be-havioral data-our systems,Caiipa and Privet,detect and analyze mobile app crashes,performance outliers,and privacy risks.With the data from ContextLib,ContextPrior-itier and Snowdrop,Caiipa realize a cloud service for scalably analyzing apps over an expanded mobile context space.We evaluate Caiipa with 235 Windows 8 Store apps,30 Windows Phone 8 apps,and 848 Android apps.Our results show that Caiipa finds 11.1x more crashes and 8.4x more performance outliers than conventional Ul-based au-tomation.Privet runs sensitivity analysis to infer privacy risks,by considering whether app requests for sensitive on-device resources/data are necessary for the app's expected functionalities.Privet addresses challenges in efficiently achieving test coverage and automating privacy risk assessment.Finally,we evaluate Privet with 1,000 Android apps released in the wild.
Keywords/Search Tags:data-driven, mobile apps, app automation, mobile user experience optimization
PDF Full Text Request
Related items