Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/2486788.2486799acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

RERAN: timing- and touch-sensitive record and replay for Android

Published: 18 May 2013 Publication History

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.

References

[1]
“RERAN: Record and Replay for Android Video Demo,” August 2012, http://www.youtube.com/user/RERAN2012.
[2]
SourceForge, “Android GUITAR,” August 2012, http://sourceforge.net/ apps/mediawiki/guitar/index.php?title=Android GUITAR.
[3]
Timothy Wall, “Abbot framework for automated testing of Java GUI components and programs,” August 2012, http://abbot.sourceforge.net.
[4]
Hewlet-Packard Company, “HP Functional Testing,” August 2012.
[5]
IBM, “Rational Robot,” August 2012, www.ibm.com/software/awdtools/ tester/robot/.
[6]
D. Amalfitano, A. R. Fasolino, and P. Tramontana, “A gui crawlingbased technique for android mobile application testing,” in ICSTW’11, pp. 252–261.
[7]
Nodobo, “Nodobo Capture: Mobile Data Recording for Analysing User Interactions in Context,” 2011.
[8]
Android Developers, “SensorEvent,” August 2012, http://developer. android.com/reference/android/hardware/SensorEvent.html#values.
[9]
Google Play Android apps, “Android Terminal Emulator,” August 2012, https://play.google.com/store/apps/details?id=jackpal.androidterm.
[10]
X. Wei, L. Gomez, I. Neamtiu, and M. Faloutsos, “Profiledroid: multilayer profiling of android applications,” in MobiCom’12, pp. 137–148.
[11]
M. Jovic, A. Adamoli, D. Zaparanuks, and M. Hauswirth, “Automating performance testing of interactive java applications,” in AST’10, pp. 8– 15.
[12]
J. Flinn and Z. M. Mao, “Can deterministic replay be an enabling tool for mobile computing?” in HotMobile ’11, pp. 84–89.
[13]
J. Mickens, J. Elson, and J. Howell, “Mugshot: deterministic capture and replay for javascript applications,” in NSDI’10, pp. 159–174.
[14]
Daniel Herding and Christian Spannagel, “Jacareto,” August 2012, http: //sourceforge.net/apps/mediawiki/jacareto/.
[15]
Matthew Pekar, “Pounder - Java GUI Testing Utility,” August 2012, http://pounder.sourceforge.net/.
[16]
Dakshinamurthy Karra, “Marathon,” August 2012, http: //www.marathontesting.com/.
[17]
P. A. Brooks and A. M. Memon, “Automated gui testing guided by usage profiles,” in ASE’07, pp. 333–342.
[18]
A. C. R. Paiva, J. a. C. P. Faria, N. Tillmann, and R. A. M. Vidal, “A model-to-implementation mapping tool for automated model-based gui testing,” in Proceedings of the 7th international conference on Formal Methods and Software Engineering, pp. 450–464.
[19]
J. Steven, P. Chandra, B. Fleck, and A. Podgurski, “jrapture: A capture/replay tool for observation-based testing,” in ISSTA’00, pp. 158– 167.
[20]
L. B. Kara and T. F. Stahovich, “An image-based, trainable symbol recognizer for hand-drawn sketches,” in Computers & Graphics, vol. 29, no. 4, pp. 501-517, 2005.
[21]
Android Developers, “Layouts,” August 2012, http://developer.android. com/guide/topics/ui/declaring-layout.html.
[22]
S. H. Khandkar, S. M. Sohan, J. Sillito, and F. Maurer, “Tool Support for Testing Complex Multi-Touch Gestures,” in ACM International Conference on Interactive Tabletops and Surfaces, pp. 59–68.
[23]
S. H. Khandkar and F. Maurer, “A Domain Specific Language to Define Gestures for Multi-Touch Applications,” in Proceedings of the 10th Workshop on Domain-Specific Modeling, pp. 2:1–2:6.
[24]
Android Developers, “UI/Application Exerciser Monkey,” August 2012, http://developer.android.com/tools/help/monkey.html.
[25]
——, “MonkeyRunner,” August 2012, http://developer.android.com/ guide/developing/tools/monkeyrunner concepts.html.
[26]
Google Code, “Robotium,” August 2012, http://code.google.com/p/ robotium/.
[27]
Atif Memon, “GUITAR,” August 2012, guitar.sourceforge.net/.
[28]
S. Narayanasamy, G. Pokam, and B. Calder, “Bugnet: Continuously recording program execution for deterministic replay debugging,” in ISCA ’05, pp. 284–295.
[29]
S. M. Srinivasan, S. Kandula, C. R. Andrews, and Y. Zhou, “Flashback: a lightweight extension for rollback and deterministic replay for software debugging,” in USENIX Annual Technical Conference, 2004, pp. 29–44.
[30]
G. W. Dunlap, S. T. King, S. Cinar, M. A. Basrai, and P. M. Chen, “Revirt: enabling intrusion analysis through virtual-machine logging and replay,” in OSDI’02, pp. 211–224.

Cited By

View all
  • (2024)Effective, Platform-Independent GUI Testing via Image Embedding and Reinforcement LearningACM Transactions on Software Engineering and Methodology10.1145/367472833:7(1-27)Online publication date: 21-Jun-2024
  • (2024)RIoTFuzzer: Companion App Assisted Remote Fuzzing for Detecting Vulnerabilities in IoT DevicesProceedings of the 2024 on ACM SIGSAC Conference on Computer and Communications Security10.1145/3658644.3670342(2341-2354)Online publication date: 2-Dec-2024
  • (2023)Read It, Don't Watch It: Captioning Bug Recordings AutomaticallyProceedings of the 45th International Conference on Software Engineering10.1109/ICSE48619.2023.00197(2349-2361)Online publication date: 14-May-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '13: Proceedings of the 2013 International Conference on Software Engineering
May 2013
1561 pages
ISBN:9781467330763

Sponsors

Publisher

IEEE Press

Publication History

Published: 18 May 2013

Check for updates

Qualifiers

  • Research-article

Conference

ICSE '13
Sponsor:

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)1
Reflects downloads up to 12 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Effective, Platform-Independent GUI Testing via Image Embedding and Reinforcement LearningACM Transactions on Software Engineering and Methodology10.1145/367472833:7(1-27)Online publication date: 21-Jun-2024
  • (2024)RIoTFuzzer: Companion App Assisted Remote Fuzzing for Detecting Vulnerabilities in IoT DevicesProceedings of the 2024 on ACM SIGSAC Conference on Computer and Communications Security10.1145/3658644.3670342(2341-2354)Online publication date: 2-Dec-2024
  • (2023)Read It, Don't Watch It: Captioning Bug Recordings AutomaticallyProceedings of the 45th International Conference on Software Engineering10.1109/ICSE48619.2023.00197(2349-2361)Online publication date: 14-May-2023
  • (2023)Context-Aware Bug Reproduction for Mobile AppsProceedings of the 45th International Conference on Software Engineering10.1109/ICSE48619.2023.00196(2336-2348)Online publication date: 14-May-2023
  • (2022)Minimum viable device drivers for ARM trustzoneProceedings of the Seventeenth European Conference on Computer Systems10.1145/3492321.3519565(300-316)Online publication date: 28-Mar-2022
  • (2021)An infrastructure approach to improving effectiveness of Android UI testing toolsProceedings of the 30th ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3460319.3464828(165-176)Online publication date: 11-Jul-2021
  • (2021)Layout and Image Recognition Driving Cross-Platform Automated Mobile TestingProceedings of the 43rd International Conference on Software Engineering10.1109/ICSE43902.2021.00139(1561-1571)Online publication date: 22-May-2021
  • (2021)V2SProceedings of the 43rd International Conference on Software Engineering: Companion Proceedings10.1109/ICSE-Companion52605.2021.00037(65-68)Online publication date: 25-May-2021
  • (2020)Remote Control of iOS Devices via Accessibility FeaturesProceedings of the 2020 ACM Workshop on Forming an Ecosystem Around Software Transformation10.1145/3411502.3418427(35-40)Online publication date: 13-Nov-2020
  • (2020)Roaming Through the Castle TunnelsACM Transactions on the Web10.1145/339505014:3(1-24)Online publication date: 27-Jun-2020
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media