Loading...
Please wait, while we are loading the content...
Similar Documents
Versatile yet Lightweight Record-and-Replay for Android
| Content Provider | CiteSeerX |
|---|---|
| Author | Hu, Yongjian Azim, Tanzirul Neamtiu, Iulian |
| 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, be-cause smartphone apps receive a high-bandwidth stream of input (e.g., network, GPS, camera, microphone, touch-screen) and concurrency events, but the stream has to be recorded and replayed with minimal overhead, to avoid in-terfering with app execution. Prior record-and-replay ap-proaches have focused on replaying machine instructions or system calls, which is not a good fit on smartphones. We pro-pose 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 net-work 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 re-quire 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. |
| File Format | |
| Access Restriction | Open |
| Content Type | Text |