VLM-Fuzz:面向 Android 应用有效 UI 测试的视觉语言模型辅助递归深度优先搜索探索
软件工程
2025-04-17 v1
摘要
有效地测试 Android 应用需要通过模拟用户交互和系统事件来系统性地探索该应用的可能状态。虽然已有方法提出了several 模糊技术来生成各种文本输入和触发用户和系统事件以进行 UI 状态探索,但在 Android 应用测试中实现高代码覆盖率仍然是一个重大挑战。主要挑战是(1)推理关于 UI 屏幕复杂且动态的布局;(2)生成处理诸如弹出窗口等特定小部件所需的输入/事件;(3)在当前测试输入和之前的输入之间进行协调,以避免在相同的 UI 屏幕上停滞而无法提高测试覆盖率。为解决这些问题,我们提出了一种新颖的自动化模糊方法,称为 VLM-Fuzz,用于 Android 应用的有效 UI 测试。我们提出了一种基于启发式的深度优先搜索(DFS)探索算法,辅以视觉语言模型(VLM),以有效地探索应用的 UI 状态。我们使用静态分析来分析 Android Manifest 文件和运行时 UI 层次结构 XML,以提取组件列表、intent-filter 和交互式 UI 小部件。VLM 用于基于需求的推理关于 UI 布局和小部件。根据来自静态分析、VLM 和当前 UI 状态的输入,我们使用某些启发式方法来处理上述挑战。我们基于包含 59 个来自近期工作的应用的基准进行评估了 VLM-Fuzz,并将其与两种最先进的方法(APE 和 DeepGUI)进行了比较。VLM-Fuzz 在类覆盖率、方法覆盖率和行覆盖率方面分别比最佳基线提高了 9.0%、3.7% 和 2.1%。我们还在 80 个最近更新的 Google Play 应用上运行了 VLM-Fuzz。VLM-Fuzz 检测到 208 个在 24 个应用中发现的唯一崩溃,这些崩溃已报告给相应的开发者。
关键词
引用
@article{arxiv.2504.11675,
title = {VLM-Fuzz: Vision Language Model Assisted Recursive Depth-first Search Exploration for Effective UI Testing of Android Apps},
author = {Biniam Fisseha Demissie and Yan Naing Tun and Lwin Khin Shar and Mariano Ceccato},
journal= {arXiv preprint arXiv:2504.11675},
year = {2025}
}