paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Vet: identifying and avoiding UI exploration tarpits

Vet:识别并避免 UI 探索陷阱
FSE Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering2021匹配度 1/10 · 该论文研究移动 UI 测试中的探索陷阱识别与规避,属于动态软件测试/UI 自动化方向,与用户关注的静态分析、LLM/Agent 改进程序分析、浮点程序分析及贝叶斯程序分析均无直接关联;仅可宽泛类比自主探索 Agent 的失败模式,但不涉及 LLM、程序分析或形式化方法。引用 34 inbox
Wenyu Wang, Wei Yang, Tianyin Xu, Tao Xie
crossref: 2026-09-12

AI 速览

一句话:提出 VET,通过记录 UI 轨迹识别移动 UI 测试中的探索陷阱并引导工具避免或恢复,从而提升覆盖率与崩溃发现能力。

移动 UI 测试工具在功能丰富、代码量大的工业级应用上常陷入“探索陷阱”,即长时间卡在小部分功能上,例如早期退出登录后无法重新登录,只能反复测试登录前功能。手工硬编码规则难以应对测试环境变化、应用快速迭代和产品线批量测试。为此,作者提出 VET:在给定 Android UI 测试工具与待测应用上运行工具并记录 UI 轨迹,基于轨迹中的模式识别探索陷阱,定位导致或表现出陷阱的动作(如点击退出登录)或界面,并在后续测试运行中引导工具预防或从陷阱中恢复。在流行工业应用上使用当前最优 Android UI 测试工具的评估中,VET 识别出最多消耗 98.6% 测试时间预算的探索陷阱,这些陷阱既暴露了 UI 探索策略的局限,也揭示了工具实现缺陷;自动处理后,各工具获得更高代码覆盖率与更强崩溃触发能力。

问题
移动 UI 测试工具在工业级应用上容易陷入探索陷阱,长时间困于小部分功能,而手工硬编码规避规则难以泛化。
方法
VET 运行测试工具并记录 UI 轨迹,通过轨迹模式识别探索陷阱,定位相关动作或界面,并在后续测试中引导工具预防或恢复。
评估
在流行工业应用上用当前最优 Android UI 测试工具评估,VET 识别出消耗高达 98.6% 测试时间预算的陷阱,并自动处理以提升代码覆盖率和崩溃触发能力。
原文摘要(Abstract)

Despite over a decade of research, it is still challenging for mobile UI testing tools to achieve satisfactory effectiveness, especially on industrial apps with rich features and large code bases. Our experiences suggest that existing mobile UI testing tools are prone to exploration tarpits, where the tools get stuck with a small fraction of app functionalities for an extensive amount of time. For example, a tool logs out an app at early stages without being able to log back in, and since then the tool gets stuck with exploring the app’s pre-login functionalities (i.e., exploration tarpits) instead of its main functionalities. While tool vendors/users can manually hardcode rules for the tools to avoid specific exploration tarpits, these rules can hardly generalize, being fragile in face of diverted testing environments, fast app iterations, and the demand of batch testing product lines. To identify and resolve exploration tarpits, we propose VET, a general approach including a supporting system for the given specific Android UI testing tool on the given specific app under test (AUT). VET runs the tool on the AUT for some time and records UI traces, based on which VET identifies exploration tarpits by recognizing their patterns in the UI traces. VET then pinpoints the actions (e.g., clicking logout) or the screens that lead to or exhibit exploration tarpits. In subsequent test runs, VET guides the testing tool to prevent or recover from exploration tarpits. From our evaluation with state-of-the-art Android UI testing tools on popular industrial apps, VET identifies exploration tarpits that cost up to 98.6% testing time budget. These exploration tarpits reveal not only limitations in UI exploration strategies but also defects in tool implementations. VET automatically addresses the identified exploration tarpits, enabling each evaluated tool to achieve higher code coverage and improve crash-triggering capabilities.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot6401,
  title = {Vet: identifying and avoiding UI exploration tarpits},
  author = {Wenyu Wang and Wei Yang and Tianyin Xu and Tao Xie},
  booktitle = {FSE},
  year = {2021},
  doi = {10.1145/3468264.3468554}
}