Improving the Android development lifecycle with the VALERA record-and-replay approach

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.