ABSTRACT
As smartphones become more and more popular, developers are switching their focus from traditional desktop programs to mobile apps. Recording and replaying the execution of mobile apps is useful in development tasks, from reproducing bugs to profiling and testing. However, achieving effective record-and-replay on mobile devices is a balancing act between accuracy and overhead. Prior record-and-replay approaches have focused on replaying low-level instructions, which impose significant overhead. 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 that supports record-and-replay on the Android platform. Through an evaluation on 50 popular Android apps, we show that: 's replay fidelity far exceeds current record-and-replay approaches for Android; 's low-overhead allows it to replay high-throughput, timing-sensitive apps; With the ability to deterministically replay event schedule, can help to reproduce and verify event-driven races.
- G. W. Dunlap, S. T. King, S. Cinar, M. A. Basrai, and P. M. Chen. Revirt: enabling intrusion analysis through virtualmachine logging and replay. In OSDI’02. Google ScholarDigital Library
- Y. Hu, T. Azim, and I. Neamtiu. Versatile yet lightweight record-and-replay for android. In OOPSLA’15. Google ScholarDigital Library
- Jinseong Jeon and Kristopher Micinski and Jeffrey S. Foster. Redexer. http://www.cs.umd.edu/projects/PL/redexer/ index.html.Google Scholar
- L. Gomez, I. Neamtiu, T.Azim, and T. Millstein. Reran: Timing- and touch-sensitive record and replay for android. In ICSE ’13. Google ScholarDigital Library
- M. Ronkko and J. Peltonen. Software industry survey, 2013. http://www.softwareindustrysurvey.org/.Google Scholar
- P. Maiya, A. Kanade, and R. Majumdar. Race detection for android applications. In PLDI’14. Google ScholarDigital Library
- S. Narayanasamy, G. Pokam, and B. Calder. Bugnet: Continuously recording program execution for deterministic replay debugging. In ISCA ’05. Google ScholarDigital Library
- B. Zhou, I. Neamtiu, and R. Gupta. A cross-platform analysis of bugs and bug-fixing in open source projects: Desktop vs. android vs. ios. In EASE ’15. Google ScholarDigital Library
Index Terms
- Improving the Android development lifecycle with the VALERA record-and-replay approach
Recommendations
Versatile yet lightweight record-and-replay for Android
OOPSLA 2015: Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and ApplicationsRecording 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 ...
Versatile yet lightweight record-and-replay for Android
OOPSLA '15Recording 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 ...
VALERA: an effective and efficient record-and-replay tool for android
MOBILESoft '16: Proceedings of the International Conference on Mobile Software Engineering and SystemsWe demo VALERA, a Versatile-yet-lightweight Record-and-replay tool for Android. Record-and-replay is useful across the Android development lifecycle, from bug reproducing to systematic testing. VALERA uses a novel technique named sensor-oriented replay (...
Comments