paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Understanding and finding system setting-related defects in Android apps

理解与发现 Android 应用中的系统设置相关缺陷
ISSTA Proceedings of the 30th ACM SIGSOFT International Symposium on Software Testing and Analysis2021匹配度 1/10 · 论文属于移动应用 GUI 蜕变模糊测试,关注 Android 系统设置相关缺陷检测,不涉及静态分析、LLM/Agent、浮点程序分析或贝叶斯程序分析。虽具工业落地与问题驱动特点,但与用户研究画像的核心方向几乎没有交集。引用 35 inbox
Jingling Sun, Ting Su, Junxin Li, Zhen Dong, Geguang Pu, Tao Xie, Zhendong Su
crossref: 2026-09-12

AI 速览

一句话:首个系统性研究 Android 系统设置相关缺陷,并提出蜕变模糊测试工具 SetDroid 自动检测此类缺陷。

Android 提供大量用户可配置的系统设置,但应用可能无法正确适应设置变化,导致用户受挫。此前缺乏对此类缺陷的系统研究。本文首先对 180 个流行 GitHub 应用中的 1074 个设置缺陷进行超过三人月的人工实证分析,考察其影响、根因与后果,发现约 70.7% 的缺陷导致非崩溃(逻辑)失败,现有测试技术因缺少强断言难以自动检测。受此启发,作者提出设置级蜕变模糊测试:若设置被修改后正确恢复,应用行为应保持一致,否则应表现出预期差异。该思想实现为端到端 GUI 测试工具 SetDroid,可检测崩溃与非崩溃设置缺陷。在 26 个开源应用上发现 42 个未知缺陷(24 个应用中),33 个已确认、21 个已修复;在微信、QQ邮箱、TikTok、剪映、支付宝香港五个工业级应用中发现 17 个未知缺陷,均被确认并修复。59 个检测缺陷中 49 个为非崩溃失败,现有工具无法检出。

问题
Android 应用常因未能正确适应系统设置变更而产生缺陷,其中多数为非崩溃逻辑失败,现有测试技术因缺乏强断言而难以自动检测,且此前无系统性研究。
方法
先对 180 个流行应用的 1074 个设置缺陷进行人工实证研究,归纳影响、根因与后果;进而提出设置级蜕变模糊测试,基于设置变更恢复后行为应一致或未恢复时应有预期差异的洞察,实现端到端 GUI 测试工具 SetDroid。
评估
在 26 个流行开源应用上发现 42 个未知设置缺陷(24 个应用),33 个确认、21 个修复;并在微信、QQ邮箱、TikTok、剪映、支付宝香港五个工业级应用中发现 17 个未知缺陷,全部确认并修复。59 个缺陷中 49 个为非崩溃失败。
原文摘要(Abstract)

Android, the most popular mobile system, offers a number of user-configurable system settings (e.g., network, location, and permission) for controlling devices and apps. Even popular, well-tested apps may fail to properly adapt their behaviors to diverse setting changes, thus frustrating their users. However, there exists no effort to systematically investigate such defects. To this end, we conduct the first empirical study to understand the characteristics of these setting-related defects (in short as "setting defects"), which reside in apps and are triggered by system setting changes. We devote substantial manual effort (over three person-months) to analyze 1,074 setting defects from 180 popular apps on GitHub. We investigate their impact, root causes, and consequences. We find that setting defects have a wide, diverse impact on apps' correctness, and the majority of these defects (≈70.7%) cause non-crash (logic) failures, and thus could not be automatically detected by existing app testing techniques due to the lack of strong test oracles. Motivated and guided by our study, we propose setting-wise metamorphic fuzzing, the first automated testing approach to effectively detect setting defects without explicit oracles. Our key insight is that an app's behavior should, in most cases, remain consistent if a given setting is changed and later properly restored, or exhibit expected differences if not restored. We realize our approach in SetDroid, an automated, end-to-end GUI testing tool, for detecting both crash and non-crash setting defects. SetDroid has been evaluated on 26 popular, open-source apps and detected 42 unique, previously unknown setting defects in 24 apps. To date, 33 have been confirmed and 21 fixed. We also apply SetDroid on five highly popular industrial apps, namely WeChat, QQMail, TikTok, CapCut, and AlipayHK, all of which each have billions of monthly active users. SetDroid successfully detects 17 previously unknown setting defects in these apps' latest releases, and all defects have been confirmed and fixed by the app vendors. The majority of SetDroid-detected defects (49 out of 59) cause non-crash failures, which could not be detected by existing testing tools (as our evaluation confirms). These results demonstrate SetDroid's strong effectiveness and practicality.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot6659,
  title = {Understanding and finding system setting-related defects in Android apps},
  author = {Jingling Sun and Ting Su and Junxin Li and Zhen Dong and Geguang Pu and Tao Xie and Zhendong Su},
  booktitle = {ISSTA},
  year = {2021},
  doi = {10.1145/3460319.3464806}
}