RERAN: Timing- and touch-sensitive record and replay for Android
Authors:
Top Cited Papers
- 1 May 2013
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- No. 02705257,p. 72-81
Abstract
Touchscreen-based devices such as smartphones and tablets are gaining popularity, but their rich input capabilities pose new development and testing complications. To alleviate this problem, we present an approach and tool named Reran that permits record-and-replay for the Android smartphone platform. Existing GUI-level record-and-replay approaches are inadequate due to the expressiveness of the smartphone domain, in which applications support sophisticated GUI gestures, depend on inputs from a variety of sensors on the device, and have precise timing requirements among the various input events. We address these challenges by directly capturing the low-level event stream on the phone, which includes both GUI events and sensor events, and replaying it with microsecond accuracy. Moreover, Reran does not require access to app source code, perform any app rewriting, or perform any modifications to the virtual machine or Android platform. We demonstrate RERAN's applicability in a variety of scenarios, including (a) replaying 86 out of the Top-100 Android apps on Google Play; (b) reproducing bugs in popular apps, e.g., Firefox, Facebook, Quickoffice; and (c) fast-forwarding executions. We believe that our versatile approach can help both Android developers and researchers.Keywords
This publication has 9 references indexed in Scilit:
- Can deterministic replay be an enabling tool for mobile computing?2011
- Tool support for testing complex multi-touch gestures2010
- A domain specific language to define gestures for multi-touch applications2010
- Automating performance testing of interactive Java applications2010
- Automated gui testing guided by usage profiles2007
- An image-based, trainable symbol recognizer for hand-drawn sketchesComputers & Graphics, 2005
- BugNet: Continuously Recording Program Execution for Deterministic Replay Debugging2005
- ReVirt2002
- jRapture2000