Improving the performance and reliability of mobile applications

Thesis: Ph. D., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2014.

Bibliographic Details
Main Author: Sivalingam, Lenin Ravindranath
Other Authors: Hari Balakrishnan.
Format: Thesis
Language:eng
Published: Massachusetts Institute of Technology 2015
Subjects:
Online Access:http://hdl.handle.net/1721.1/93068
_version_ 1826204151957159936
author Sivalingam, Lenin Ravindranath
author2 Hari Balakrishnan.
author_facet Hari Balakrishnan.
Sivalingam, Lenin Ravindranath
author_sort Sivalingam, Lenin Ravindranath
collection MIT
description Thesis: Ph. D., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2014.
first_indexed 2024-09-23T12:49:43Z
format Thesis
id mit-1721.1/93068
institution Massachusetts Institute of Technology
language eng
last_indexed 2024-09-23T12:49:43Z
publishDate 2015
publisher Massachusetts Institute of Technology
record_format dspace
spelling mit-1721.1/930682019-04-12T20:25:17Z Improving the performance and reliability of mobile applications Sivalingam, Lenin Ravindranath Hari Balakrishnan. Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science. Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science. Electrical Engineering and Computer Science. Thesis: Ph. D., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2014. Cataloged from PDF version of thesis. Includes bibliographical references (pages 129-133). The mobile application ("app") ecosystem has grown at a tremendous pace with millions of apps and hundreds of thousands of app developers. Mobile apps run across a wide range of network, hardware, location, and usage conditions that are hard for developers to emulate or even anticipate during lab testing. Hence, app failures and performance problems are common in the wild. Scarce resources, shift away from familiar synchronous programming models, and poor development support has made it more difficult for app developers to overcome these problems. This dissertation focuses on systems that make it significantly easy for app developers to diagnose and improve their mobile apps. To reduce user annoyance and survive the brutally competitive mobile app marketplace, developers need systems that (i) identify potential failures before the app is released, (ii) diagnose problems after the app is deployed in the wild, and (iii) provide reliable app performance in the face of varying conditions in the wild. This dissertation presents systems that satisfy these needs. VanarSena makes it easy to diagnose common failures in mobile apps before deployment, AppInsight makes it easy to monitor mobile apps after deployment, and Timecard allows mobile apps to adapt to conditions in the wild and provide consistent performance. For the legion of amateur app developers with fewer resources at hand, these systems significantly reduce the barrier for diagnosing and improving mobile apps. The systems are built on top of a binary instrumentation framework that automatically rewrites app binary at bytecode level. Hence, using them requires minimal effort on part of the app developer. The systems include novel instrumentation techniques to automatically track the runtime behavior of the app. To cope with the scarcity of resources, they include resource-aware mechanisms that incur negligible overhead. To make them immediately deployable, they are designed to require no modification to the OS or runtime. We have built VanarSena, AppInsight, and Timecard for the Windows Phone platform. VanarSena does automated app testing by systematically emulating user interactions and fault conditions from the wild to uncover app failures. VanarSena uncovered 2,969 distinct crashes in more than 1,100 apps in the app store. AppInsight does light-weight monitoring of mobile apps in the wild. It automatically instruments the app binary to track performance and failures. AppInsight uncovered several performance bottlenecks and crashes in the wild and has provided useful feedback to developers. Timecard enables apps to adapt at runtime and provide consistent performance in the face of varying conditions in the wild. Timecard can tightly control the response time around a desired user-perceived delay. by Lenin Ravindranath Sivalingam. Ph. D. 2015-01-20T17:59:42Z 2015-01-20T17:59:42Z 2014 2014 Thesis http://hdl.handle.net/1721.1/93068 900003656 eng M.I.T. theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission. See provided URL for inquiries about permission. http://dspace.mit.edu/handle/1721.1/7582 133 pages application/pdf Massachusetts Institute of Technology
spellingShingle Electrical Engineering and Computer Science.
Sivalingam, Lenin Ravindranath
Improving the performance and reliability of mobile applications
title Improving the performance and reliability of mobile applications
title_full Improving the performance and reliability of mobile applications
title_fullStr Improving the performance and reliability of mobile applications
title_full_unstemmed Improving the performance and reliability of mobile applications
title_short Improving the performance and reliability of mobile applications
title_sort improving the performance and reliability of mobile applications
topic Electrical Engineering and Computer Science.
url http://hdl.handle.net/1721.1/93068
work_keys_str_mv AT sivalingamleninravindranath improvingtheperformanceandreliabilityofmobileapplications