Versatile yet lightweight record-and-replay for Android

Yongjian Hu, Tanzirul Azim, Iulian Neamtiu

Research output: Contribution to journalArticlepeer-review

16 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-and-replay 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)
Pages (from-to)349-366
Number of pages18
JournalACM SIGPLAN Notices
Volume50
Issue number10
DOIs
StatePublished - Oct 2015
Externally publishedYes

All Science Journal Classification (ASJC) codes

  • General Computer Science

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