paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Deeply Reinforcing Android GUI Testing with Deep Reinforcement Learning

用深度强化学习深化 Android GUI 测试
ICSE Proceedings of the IEEE/ACM 46th International Conference on Software Engineering2024匹配度 2/10 · 该论文使用深度强化学习进行 Android GUI 自动化测试,属于机器学习在软件测试中的应用,未涉及静态分析、形式化验证、LLM/Agent 改进程序分析、浮点程序分析或贝叶斯程序分析等用户核心方向。虽然与“机器学习与程序语言”有交叉标签,但研究问题与用户画像匹配度很低。引用 24 inbox
Yuanhong Lan, Yifei Lu, Zhong Li, Minxue Pan, Wenhua Yang, Tian Zhang, Xuandong Li
crossref: 2026-09-12

AI 速览

一句话:提出基于深度强化学习与图嵌入的 Android GUI 自动化测试方法 DQT,在代码覆盖与缺陷检测上优于现有方法。

随着 Android 应用规模与复杂度不断增长,质量保障面临更大挑战。已有研究表明强化学习(RL)在 Android GUI 测试中具有优势,但其效果在大型复杂应用上仍受限:表格型 RL 难以在被测应用巨大的状态-动作空间中学习知识,而采用更先进 RL 技术时又对已获得知识利用不足。为此,本文提出 DQT——一种基于深度强化学习的自动化 Android GUI 测试方法。DQT 利用图嵌入技术保留控件的结构与语义信息,为识别相似状态或动作、区分不同状态或动作奠定基础;同时设计专用的深度 Q 网络(DQN),通过与被测应用的运行时交互学习测试知识并在状态或动作间共享,从而有效引导好奇心驱动的探索。在 30 个多样化开源应用上的实验表明,DQT 在代码覆盖率与缺陷检测方面均优于现有最先进方法,对大型复杂应用尤为明显。DQT 发现的缺陷已被复现并报告给开发者,其中 21 个问题得到明确确认,14 个已被修复。

问题
现有基于强化学习的 Android GUI 测试方法在大型复杂应用上效果有限,源于表格型 RL 难以应对巨大的状态-动作空间,以及先进 RL 技术对已学测试知识利用不充分。
方法
DQT 使用图嵌入保留控件的结构与语义信息以支持相似状态/动作识别,并设计专用 DQN,从与被测应用的运行时交互中学习并跨状态或动作共享测试知识,引导好奇心驱动的探索。
评估
在 30 个多样化开源应用上与现有最先进测试方法对比代码覆盖率与缺陷检测效果,尤其关注大型复杂应用;并对发现的缺陷进行复现与开发者报告,统计确认与修复数量。
原文摘要(Abstract)

As the scale and complexity of Android applications continue to grow in response to increasing market and user demands, quality assurance challenges become more significant. While previous studies have demonstrated the superiority of Reinforcement Learning (RL) in Android GUI testing, its effectiveness remains limited, particularly in large, complex apps. This limitation arises from the ineffectiveness of Tabular RL in learning the knowledge within the large state-action space of the App Under Test (AUT) and from the suboptimal utilization of the acquired knowledge when employing more advanced RL techniques. To address such limitations, this paper presents DQT, a novel automated Android GUI testing approach based on deep reinforcement learning. DQT preserves widgets' structural and semantic information with graph embedding techniques, building a robust foundation for identifying similar states or actions and distinguishing different ones. Moreover, a specially designed Deep Q-Network (DQN) effectively guides curiosity-driven exploration by learning testing knowledge from runtime interactions with the AUT and sharing it across states or actions. Experiments conducted on 30 diverse open-source apps demonstrate that DQT outperforms existing state-of-the-art testing approaches in both code coverage and fault detection, particularly for large, complex apps. The faults detected by DQT have been reproduced and reported to developers; so far, 21 of the reported issues have been explicitly confirmed, and 14 have been fixed.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot11272,
  title = {Deeply Reinforcing Android GUI Testing with Deep Reinforcement Learning},
  author = {Yuanhong Lan and Yifei Lu and Zhong Li and Minxue Pan and Wenhua Yang and Tian Zhang and Xuandong Li},
  booktitle = {ICSE},
  year = {2024},
  doi = {10.1145/3597503.3623344}
}