论文

RotDroid:用于检测 Android 应用中 GUI 旋转错误的跨方向状态等效测试

RotDroid: Cross-Orientation State Equivalence Testing for Detecting GUI Rotation Bugs in Android Apps

摘要

屏幕旋转是 Android 应用程序中的基本交互,但它经常会引入非崩溃功能故障 (NCF),例如布局不一致和状态丢失,这些很难自动检测。一个关键的挑战是缺乏有效的测试预言机来检查纵向和横向视图之间的交叉方向状态等效性。我们提出 RotDroid,一个通过跨方向状态等价检测 GUI 旋转错误的测试框架。 RotDroid 生成并改变状态保留操作序列 (SPS),以跨方向构建语义上等效的 GUI 状态。为了支持可靠的预言机检查,我们构建了 RotBench(一个成对的纵向-横向 GUI 状态数据集),并开发了 RotVL(一种针对等价性检查进行微调的视觉语言模型)。对合成数据集和真实数据集的实验表明,RotVL 的性能优于最先进的模型,并且在同等预算下,RotDroid 比现有技术检测到更多由旋转引起的故障。在针对开源和闭源应用程序的大规模研究中,RotDroid 报告了 94 个以前未知的错误,其中 47 个已被开发人员确认或修复,证明了其实际有效性。