Show simple item record

dc.contributor.advisorHari Balakrishnan.en_US
dc.contributor.authorSivalingam, Lenin Ravindranathen_US
dc.contributor.otherMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Science.en_US
dc.date.accessioned2015-01-20T17:59:42Z
dc.date.available2015-01-20T17:59:42Z
dc.date.copyright2014en_US
dc.date.issued2014en_US
dc.identifier.urihttp://hdl.handle.net/1721.1/93068
dc.descriptionThesis: Ph. D., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2014.en_US
dc.descriptionCataloged from PDF version of thesis.en_US
dc.descriptionIncludes bibliographical references (pages 129-133).en_US
dc.description.abstractThe 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.en_US
dc.description.statementofresponsibilityby Lenin Ravindranath Sivalingam.en_US
dc.format.extent133 pagesen_US
dc.language.isoengen_US
dc.publisherMassachusetts Institute of Technologyen_US
dc.rightsM.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.en_US
dc.rights.urihttp://dspace.mit.edu/handle/1721.1/7582en_US
dc.subjectElectrical Engineering and Computer Science.en_US
dc.titleImproving the performance and reliability of mobile applicationsen_US
dc.typeThesisen_US
dc.description.degreePh. D.en_US
dc.contributor.departmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
dc.identifier.oclc900003656en_US


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record