58 research outputs found

    An Exploratory Study on the Characteristics of Logging Practices in Mobile Apps: A Case Study on F-Droid

    Get PDF
    Logging is a common practice in software engineering. Prior research has investigated the characteristics of logging practices in system software (e.g., web servers or databases) as well as desktop applications. However, despite the popularity of mobile apps, little is known about their logging practices. In this thesis, we sought to study logging practices in mobile apps. In particular, we conduct a case study on 1,444 open source Android apps in the F-Droid repository. Through a quantitative study, we find that although mobile app logging is less pervasive than server and desktop applications, logging is leveraged in almost all studied apps. However, we find that there exist considerable differences between the logging practices of mobile apps and the logging practices in server and desktop applications observed by prior studies. In order to further understand such differences, we conduct a firehouse email interview and a qualitative annotation on the rationale of using logs in mobile app development. By comparing the logging level of each logging statement with developers' rationale of using the logs, we find that all too often (35.4%), the chosen logging level and the rationale are inconsistent. Such inconsistency may prevent the useful runtime information to be recorded or may generate unnecessary logs that may cause performance overhead. Finally, to understand the magnitude of such performance overhead, we conduct a performance evaluation between generating all the logs and not generating any logs in eight mobile apps. In general, we observe a statistically significant performance overhead based on various performance metrics (response time, CPU and battery consumption). In addition, we find that if the performance overhead of logging is significantly observed in an app, disabling the unnecessary logs indeed provides a statistically significant performance improvement. Our results show the need for a systematic guidance and automated tool support to assist in mobile logging practices

    스마트폰을 위한 사용자 중심 최적화 기법

    Get PDF
    학위논문 (박사)-- 서울대학교 대학원 : 전기·컴퓨터공학부, 2016. 8. 김지홍.Recently, smartphones have become an integral part of everyday life. In addition, as smartphone users are expecting their devices to deliver PC-level user experience, numerous design requirements are rapidly emerging with the technology development. In order to meet the demanding system design requirements, many conventional techniques, whose basic concepts are almost same as those of the traditional computing devices such as PCs, are applied to the smartphones. However, as truly personalized and interaction-oriented devices, the smartphones have distinct characteristics which distinguish the devices from traditional computing devices. Therefore, it is highly required to understand and to analyze the distinctive inherent characteristics of smartphones for a provision of a new novel opportunity for system optimization. In this dissertation, we propose new user-centric optimization techniques to satisfy various design requirements of smartphones such as energy efficiency, effective thermal management and rapid responsiveness without any performance degradation by taking advantage of high-level information from the smartphone users. We first introduce a new definition of the response time, the user-perceived response time, which is known to be a critical metric for the quality of user experience of the smartphone. We also present a user-perceived response time analyzer for Android-based smartphones, which can identify the user-perceived response time of smartphone apps during run time. Based on on-line identification of the user-perceived response time, we propose a novel CPU power management framework, which enables more aggressive low-power techniques to be employed while executing display-insensitive parts of task executions. Our experimental results on a smartphone development board show that the proposed technique can reduce the CPU energy consumption by up to 65.6% over the Android's default ondemand cpufreq governor. Second, we propose a novel dynamic thermal management (DTM) technique for smartphones, which ensures the quality of user experience during the execution of display-sensitive parts without any thermal violations. In the proposed DTM technique, in order to identify that the current execution could affect the visible portion of the display, we develop a user-perceived response time prediction model for each interactive session based on statistical analysis of the user-perceived response times for the past interactive sessions. By exploiting the on-line prediction of the user-perceived response time, the proposed DTM technique carefully makes the DTM decisions for a higher quality of user experience. Our experimental results on an ODROID-XU+E board show that the proposed technique can improve the user-perceived performance by up to 37.96% over the Androids default DTM policy. Third, we present a personalized optimization framework for smartphones which can provide valuable high-level hints for optimizing the smartphone design requirements. The main goal of the proposed framework is collecting an app usage log of a smartphone user and analyzing the collected log so that particular usage patterns, if any, can be effectively identified. In order to identify app usage patterns, a couple of app usage models are also proposed. Based on the app usage models developed, we also propose a launching experience optimization which avoids unnecessary app restarts considering the detrimental effects of the restart on user experience from the perspective of performance, energy, and loss of previous state. Our experimental results on the Nexus S Android reference phones show that our proposed optimization technique can avoid unnecessary application restarts by up to 78.4% over the default LRU-based policy of the Android platform. Based on the evaluation for each technique, we verified that the user-centric optimization techniques improve the quality of user experience in terms of energy efficiency, effective thermal management and rapid responsiveness over previous system-centric techniques.Chapter I. Introduction 13 1.1 Motivation 13 1.1.1 Distinctive Characteristics of Smartphone 13 1.1.2 Existing Optimization Techniques for Smartphones and Their Limitations 16 1.2 Dissertation Goals 19 1.3 Contributions 20 1.4 Dissertation Structure 21 Chapter II. Related Work 23 2.1 Power Management Techniques 23 2.2 User Behavior Characterization 25 2.3 Launching Time Optimization Techniques 26 Chapter III. CPU Power Management Technique Using User-Perceived Response Time Analysis 31 3.1 Motivation 31 3.2 Design and Implementation of URA 36 3.2.1 Overview 36 3.2.2 User-Perceived Resoponse Time Identification 38 3.2.3 URA-based CPU Power Optimization Technique 41 3.3 Experimental Results 42 Chapter IV. SmartDTM: Smart Thermal Management for Smartphones 49 4.1 Overview 49 4.2 Motivation 52 4.3 Design and Implementation of SmartDTM 56 4.3.1 Basic Idea 56 4.3.2 Architectural Overview 59 4.3.3 User-Perceived Response Time Prediction 62 4.3.4 Worst-Case Temperature Estimation Model 64 4.4 Experimental Results 66 4.4.1 Experimental Environment 66 4.4.2 Performance Evaluation 68 4.4.3 Temperature Evaluation 70 Chapter V. Personalized Optimization Framework 77 5.1 Motivation 77 5.2 Design and Implementation of POA 78 5.2.1 Design Overview 78 5.2.2 App Usage Modeling Module 82 5.2.3 Usage Model-Based Optimization Module 83 5.3 App Usage Model Construction 83 5.3.1 P-AUM: Pattern-based App Usage Model 83 5.3.2 C-AUM: Clustering-based App Usage Model 87 Chapter VI. AUM-based Launching Experience Optimization Technique 96 6.1 Motivation 96 6.1.1 Impact of Cold Starts on App Launching Experience 98 6.1.2 Android Task Management Scheme 101 6.1.3 Problem of the LRU-based Task Killer 102 6.2 AUM-based Launching Experience Optimization 106 6.2.1 App Usage (AU)-aware Task Killer 106 6.2.2 App Usage (AU)-aware Prelauncher 107 6.3 Experimental Results 109 6.3.1 Experiment Environment 109 6.3.2 Results of Task Killing Mechanism Optimization 110 6.3.3 Results of Prelaunching Technique 118 Chapter VII. Conclusions 119 7.1 Summary and Conclusions 119 7.2 Future Work 121 7.2.1 Improving Prediction Accuracy of the AUMs Using Context Information 121 7.2.2 Integrated Intra- and Inter-App Approaches for User-Centric Optimizations 123 7.2.3 User-Centric Optimizations for The Other Design Requirements 124 Bibliography 126 국문 초록 132Docto

    Analysis of the Impact of Performance on Apps Retention

    Get PDF
    The non-stopping expansion of mobile technologies has produced the swift increase of smartphones with higher computational power, and sophisticated sensing and communication capabilities have provided the foundations to develop apps on the move with PC-like functionality. Indeed, nowadays apps are almost everywhere, and their number has increased exponentially with Apple AppStore, Google Play and other mobile app marketplaces offering millions of apps to users. In this scenario, it is common to find several apps providing similar functionalities to users. However, only a fraction of these applications has a long-term survival rate in app stores. Retention is a metric widely used to quantify the lifespan of mobile apps. Higher app retention corresponds to higher adoption and level of engagement. While existing scientific studies have analysed mobile users' behaviour and support the existence of factors that influence apps retention, the quantification about how do these factors affect long-term usage is still missing. In this thesis, we contribute to these studies quantifying and modelling one of the critical factors that affect app retention: performance. We deepen the analysis of performance based on two key-related variables: network connectivity and battery consumption. The analysis is performed by combining two large-scale crowdsensed datasets. The first includes measurements about network quality and the second about app usage and energy consumption. Our results show the benefits of data fusion to introduce richer contexts impossible of being discovered when analysing data sources individually. We also demonstrate that, indeed, high variations of these variables together and individually affect the likelihood of long-term app usage. But also, that retention is regulated by what users consider reasonable standards of performance, meaning that the improvement of latency and energy consumption does not guarantee higher retention. To provide further insights, we develop a model to predict retention using performance-related variables. Its accuracy in the results allows generalising the effect of performance in long-term usage across categories, locations and moderating variables

    Toward Open and Programmable Wireless Network Edge

    Get PDF
    Increasingly, the last hop connecting users to their enterprise and home networks is wireless. Wireless is becoming ubiquitous not only in homes and enterprises but in public venues such as coffee shops, hospitals, and airports. However, most of the publicly and privately available wireless networks are proprietary and closed in operation. Also, there is little effort from industries to move forward on a path to greater openness for the requirement of innovation. Therefore, we believe it is the domain of university researchers to enable innovation through openness. In this thesis work, we introduce and defines the importance of open framework in addressing the complexity of the wireless network. The Software Defined Network (SDN) framework has emerged as a popular solution for the data center network. However, the promise of the SDN framework is to make the network open, flexible and programmable. In order to deliver on the promise, SDN must work for all users and across all networks, both wired and wireless. Therefore, we proposed to create new modules and APIs to extend the standard SDN framework all the way to the end-devices (i.e., mobile devices, APs). Thus, we want to provide an extensible and programmable abstraction of the wireless network as part of the current SDN-based solution. In this thesis work, we design and develop a framework, weSDN (wireless extension of SDN), that extends the SDN control capability all the way to the end devices to support client-network interaction capabilities and new services. weSDN enables the control-plane of wireless networks to be extended to mobile devices and allows for top-level decisions to be made from an SDN controller with knowledge of the network as a whole, rather than device centric configurations. In addition, weSDN easily obtains user application information, as well as the ability to monitor and control application flows dynamically. Based on the weSDN framework, we demonstrate new services such as application-aware traffic management, WLAN virtualization, and security management

    iOS Technologies & Frameworks

    Get PDF
    Apple’s mobile platform — iOS — currently generates the largest amount of revenue out of all mobile app stores. The majority of iDevices run the latest major iOS version (iOS 10) due to Apple users’ tendency to update their devices. Consequently, iOS developers are pressured into keeping their apps up to date. Advantages to updating apps consist of new features and adapting apps to the platform’s hardware and software evolution. However, this does not always happen. There are apps, some popular (with many users), which either receive slow updates, or not at all. The main consequence of developers not updating to the latest tendencies (i.e. user interface or API changes) is the degradation of their apps’ user experience. This subpar user experience leads to a decrease in the number of installs (and sales) and a search for alternatives that have been updated to support the latest firmware iteration fully. We identified a common pattern amongst ten apps which have subpar reviews on the App Store: excessive battery consumption and lack of user onboarding were just a few of the ssues. Above all, almost all those apps belong to the top 1% of apps (which generate 94% of the App Store’s revenue), so the lack of focus on the user experience is unfortunate considering their massive user bases. We listed the available resources for those wanting to develop or improve iOS apps. Given these requisites, we studied the possibility of developing a mobile app that adopted good engineering practices and, above all, focused on delivering an excellent user experience in a given timeframe of six months. The app’s idea consisted of a wish list management app called Snapwish that allows the user to take photos of objects they want, create wish lists, and share them with family and friends. The app allows for offline usage, with data syncing automatically (in real-time) without user intervention when the app’s Internet connection is present. We tested Snapwish thoroughly to measure the quality of its implementation. Profiling helped assert that core metrics like CPU and memory usage, network data requests and energy consumption were within acceptable values while unit and user interface tests served to validate our code functionally. Furthermore, our team of five beta testers provided valuable feedback and suggestions. Ultimately, the six-month timeframe proved to be insufficient in regards to a release on the App Store, as Snapwish remains in the latter beta stages at the time of writing. This delay is mostly attributed to a lengthy testing process. Thus, we plan on releasing it in the first trimester of 2017.Hoje em dia, a plataforma móvel da Apple — iOS — é a que tem maior revenue em aplicações móveis. A maior parte dos dispositivos móveis iOS corre a versão mais atual (iOS 10), devido à tendência dos seus utilizadores em atualizar o sistema operativo com frequência. Consequentemente, os desenvolvedores da plataforma são pressionados para manterem as suas apps atualizadas. Algumas das vantagens das atualizações consiste em adicionar novas funcionalidades e adaptar as apps à evolução do hardware e do software da plataforma. Contudo, isto nem sempre e verifica. Existem muitas apps, algumas “populares” (com muitas instalações) cuja atualização demora ou não acontece. A principal consequência da não atualização das apps às tendências atuais, quer em termos de interação, quer em termos de mecanismos de proteção de dados, consumo de bateria e outros, é a degradação da experiência de quem as utiliza, consequentemente, a diminuição do número de instalações (e vendas) e a crescente procura de alternativas que tenham estes princípios em conta. Foi identificado um padrão comum em dez aplicações cujas classificações na App Store são medíocres: um consumo exagerado de bateria e falta de user onboarding foram apenas alguns dos problemas. Acima de tudo, quase todas pertencem ao 1% de aplicações que geram 94% das receitas da App Store. A falta de foco na experiência do utilizador é infeliz considerando as enormes bases de utilizadores dessas aplicações. Foram listados os recursos disponíveis para quem pretende desenvolver ou melhorar uma aplicação iOS. Dadas essas premissas, foi estudada a possibilidade de desenvolver uma aplicação móvel que adote boas práticas de engenharia e, acima de tudo, foque na experiência do utilizador, num período de seis meses. A ideia para a aplicação consistiu num gestor de listas de desejos designada Snapwish que permite tirar fotos de objetos que o utilizador deseja, criar listas, e partilhá-las com amigos e familiares. Além disso, a app permite o uso offline e os dados são sincronizados em tempo real sem intervenção do utilizador quando a app dispõe de uma conexão à Internet. A nossa aplicação foi testada extensivamente para medir o nível de qualidade da sua implementação. O profiling ajudou em constatar que métricas fundamentais como o consumo de CPU e memória, pedidos de dados de rede e de consumo de energia (bateria) estavam dentro dos parâmetros aceitáveis. Além disso, uma equipa de cinco beta-testers contribuiu com comentários e sugestões de grande valor. Em última análise, o prazo de seis meses revelou-se insuficiente em relação ao lançamento da app na App Store. O Snapwish permanece numa fase beta avançada (no momento da escrita desta tese). Este atraso é principalmente atribuído a um extenso processo de testes. Assim, pretendemos lançar a aplicação no primeiro trimestre de 2017

    17th SC@RUG 2020 proceedings 2019-2020

    Get PDF

    17th SC@RUG 2020 proceedings 2019-2020

    Get PDF

    17th SC@RUG 2020 proceedings 2019-2020

    Get PDF

    17th SC@RUG 2020 proceedings 2019-2020

    Get PDF
    corecore