2013 35th International Conference on Software Engineering (ICSE) (2013)
San Francisco, CA, USA
May 18, 2013 to May 26, 2013
Lorenzo Gomez , University of California, Los Angeles, USA
Iulian Neamtiu , University of California, Riverside, USA
Tanzirul Azim , University of California, Riverside, USA
Todd Millstein , University of California, Los Angeles, USA
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.
Smart phones, Sensors, Graphical user interfaces, Presses, Compass, Timing, Google
L. Gomez, I. Neamtiu, T. Azim and T. Millstein, "RERAN: Timing- and touch-sensitive record and replay for Android," 2013 35th International Conference on Software Engineering (ICSE), San Francisco, CA, USA, 2013, pp. 72-81.