paperbot · PL 论文追踪

全部论文 待读 收藏

P2 RANDR: Record and Replay for Android Applications via Targeted Runtime Instrumentation

RANDR:通过定向运行时插桩实现 Android 应用的记录与重放
ASE 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE)2019匹配度 1/10 · 该论文研究 Android 应用的动态记录与重放(运行时插桩),属于移动测试与调试方向,与用户关注的静态分析、LLM/Agent 程序分析、浮点程序分析和贝叶斯程序分析均无直接关联。虽然涉及运行时插桩和程序分析工具实现,但核心问题和方法不在研究画像的兴趣范围内。引用 22 inbox
Onur Sahin, Assel Aliyeva, Hariharan Mathavan, Ayse Coskun, Manuel Egele
crossref: 2026-09-12

AI 速览

一句话:提出 RandR,在应用沙箱内定向插桩运行时方法,实现 Android 应用 UI 与网络输入的可移植记录与重放。

移动应用的真实执行难以复现:外部输入来源众多且交互性强。已有记录/重放方案多只支持特定输入源(如触摸事件),需侵入式修改软件栈,且依赖设备特有事件,录制结果无法跨平台可靠重放。本文提出 RandR:无需 OS 或应用源码、管理员权限与特殊平台支持,通过在应用自身沙箱内对选定方法集运行时插桩,记录并重放 UI 与网络等多源输入;并将 UI 事件抽象为对特定 UI 组件(如按钮)的交互而非屏幕坐标,以获得可移植性。作者在模拟器与商用量产真机等平台上,用 30 多个真实 Android 应用验证了其准确的跨平台记录与重放能力。

问题
移动应用的执行难以复现:外部输入来源多、交互性强,已有方案受限于特定输入源、需侵入式修改软件栈,且录制的设备特有事件导致无法跨平台可靠重放。
方法
在应用自身沙箱内对一组选定方法进行运行时插桩,同时记录与重放 UI、网络等多源输入,并将 UI 事件建模为对具体 UI 组件(而非屏幕坐标)的交互。
评估
在包括模拟器与商用量产真机在内的多种平台上,对 30 多个真实 Android 应用开展跨平台记录与重放实验。
原文摘要(Abstract)

The ability to repeat the execution of a program is a fundamental requirement in many areas of computing from computer system evaluation to software engineering. Reproducing executions of mobile apps, in particular, has proven difficult under real-life scenarios due to multiple sources of external inputs and interactive nature of the apps. Previous works that provide record/replay functionality for mobile apps are restricted to particular input sources (e.g., touchscreen events) and present deployment challenges due to intrusive modifications to the underlying software stack. Moreover, due to their reliance on record and replay of device specific events, the recorded executions cannot be reliably reproduced across different platforms. In this paper, we present a new practical approach, RandR, for record and replay of Android applications. RandR captures and replays multiple sources of input (i.e., UI and network) without requiring source code (OS or app), administrative device privileges, or any special platform support. RandR achieves these qualities by instrumenting a select set of methods at runtime within an application's own sandbox. In addition, to enable portability of recorded executions across different platforms for replay, RandR contextualizes UI events as interactions with particular UI components (e.g., a button) as opposed to relying on platform specific features (e.g., screen coordinates). We demonstrate RandR's accurate cross-platform record and replay capabilities using over 30 real-world Android apps across a variety of platforms including emulators as well as commercial off-the-shelf mobile devices deployed in real life.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot5185,
  title = {RANDR: Record and Replay for Android Applications via Targeted Runtime Instrumentation},
  author = {Onur Sahin and Assel Aliyeva and Hariharan Mathavan and Ayse Coskun and Manuel Egele},
  booktitle = {ASE},
  year = {2019},
  doi = {10.1109/ase.2019.00022}
}