Versatile yet lightweight record-and-replay for android

Yongjian Hu, Tanzirul Azim, Iulian Neamtiu

Research output: Chapter in Book/Report/Conference proceedingConference contribution

60 Scopus citations

Abstract

Recording and replaying the execution of smartphone apps is useful in a variety of contexts, from reproducing bugs to profiling and testing. Achieving effective record-andreplay is a balancing act between accuracy and overhead. On smartphones, the act is particularly complicated, because smartphone apps receive a high-bandwidth stream of input (e.g., network, GPS, camera, microphone, touchscreen) and concurrency events, but the stream has to be recorded and replayed with minimal overhead, to avoid interfering with app execution. Prior record-and-replay approaches have focused on replaying machine instructions or system calls, which is not a good fit on smartphones.We propose a novel, stream-oriented record-and-replay approach which achieves high-accuracy and low-overhead by aiming at a sweet spot: recording and replaying sensor and network input, event schedules, and inter-app communication via intents. To demonstrate the versatility of our approach, we have constructed a tool named VALERA that supports record-and-replay on the Android platform. VALERA works with apps running directly on the phone, and does not require access to the app source code. Through an evaluation on 50 popular Android apps, we show that: VALERA's replay fidelity far exceeds current record-and-replay approaches for Android; VALERA's precise timing control and low overhead (about 1% for either record or replay) allows it to replay high-throughput, timing-sensitive apps such as video/audio capture and recognition; and VALERA's support for event schedule replay enables the construction of useful analyses, such as reproducing event-driven race bugs.

Original languageEnglish (US)
Title of host publicationOOPSLA 2015 - Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming Systems, Languages, and Applications
EditorsPatrick Eugster, Jonathan Aldrich
PublisherAssociation for Computing Machinery
Pages349-366
Number of pages18
ISBN (Electronic)9781450336895
DOIs
StatePublished - Oct 23 2015
Externally publishedYes
Event2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2015 - Pittsburgh, United States
Duration: Oct 25 2015Oct 30 2015

Publication series

NameProceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA
Volume25-30-Oct-2015

Other

Other2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2015
Country/TerritoryUnited States
CityPittsburgh
Period10/25/1510/30/15

All Science Journal Classification (ASJC) codes

  • Software

Keywords

  • App testing
  • Event-based races
  • Google Android
  • Mobile applications
  • Record-and-replay

Fingerprint

Dive into the research topics of 'Versatile yet lightweight record-and-replay for android'. Together they form a unique fingerprint.

Cite this