用视觉语言模型检测安卓应用旋转时的界面状态不一致问题
RotDroid: Cross-Orientation State Equivalence Testing for Detecting GUI Rotation Bugs in Android Apps

- 生成可保持状态的动作序列,实现横竖屏界面等价性验证
- 在真实应用中发现94个未知漏洞,47个被开发者确认修复
- 自建数据集与微调模型,提升跨方向状态比对准确率
屏幕旋转是安卓应用的基本交互方式,但常引发非崩溃型功能缺陷(如布局错乱、状态丢失),难以自动检测。核心挑战在于缺乏可靠的跨方向状态等价性测试依据。本文提出RotDroid框架,通过生成和变异状态保持动作序列(SPS),构建横竖屏间语义等价的界面状态。为支持可靠断言检查,我们构建了包含成对横竖屏界面状态的RotBench数据集,并开发了针对等价性判断微调的RotVL视觉语言模型。在合成与真实数据集上的实验表明,RotVL优于现有先进模型,且在同等预算下比现有技术发现更多旋转引发的缺陷。在开源与闭源应用的大规模研究中,RotDroid共报告94个此前未知的漏洞,其中47个已被开发者确认或修复,验证了其实际有效性。
原文摘要 · Abstract (English)
Screen rotation is a fundamental interaction in Android applications, but it often introduces non-crashing functional failures (NCFs), such as layout inconsistencies and state loss, which are difficult to detect automatically. A key challenge is the lack of effective test oracles for checking cross-orientation state equivalence between portrait and landscape views. We propose RotDroid, a testing framework for detecting GUI rotation bugs via cross-orientation state equivalence. RotDroid generates and mutates State-Preserving action Sequences (SPS) to construct semantically equivalent GUI states across orientations. To support reliable oracle checking, we build RotBench, a dataset of paired portrait-landscape GUI states, and develop RotVL, a vision-language model fine-tuned for equivalence checking. Experiments on both synthetic and real-world datasets show that RotVL outperforms state-of-the-art models, and RotDroid detects more rotation-induced failures than existing techniques under equal budgets. In large-scale studies on open- and closed-source apps, RotDroid reports 94 previously unknown bugs, with 47 confirmed or fixed by developers, demonstrating its practical effectiveness.
Thank you to arXiv for use of its open access interoperability. PaperDance 不是 arXiv 官方产品;中文卡片由大模型生成,请以原文为准。