paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Efficiently manifesting asynchronous programming errors in Android apps

高效显现 Android 应用中的异步编程错误
ASE Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering2018匹配度 2/10 · 该论文结合静态分析与动态UI探索检测Android异步编程错误,属于程序分析/测试方向,但与用户核心关注的ML/Agentic程序静态分析、LLM改进静态分析、浮点程序分析及贝叶斯程序分析均无直接交集。引用 51 inbox
Lingling Fan, Ting Su, Sen Chen, Guozhu Meng, Yang Liu, Lihua Xu, Geguang Pu
crossref: 2026-09-12

AI 速览

一句话:提出 APEChecker,结合静态分析与动态 UI 探索高效检测并验证 Android 异步编程错误。

Android 单 GUI 线程模型要求避免阻塞 UI 线程,开发者常把耗时任务转移到异步线程,但容易违反模型隐含规则,产生难以检测的 fail-stop 异步编程错误(APE);研究显示超过 25% 应用存在此类问题。论文提出 APEChecker,将 APE 刻画为特定故障模式,协同使用静态分析与动态 UI 探索来检测并验证错误。在 40 个真实 Android 应用上,APEChecker 发现并处理 61 个 APE,确认 51 个,命中率 83.6%;检测数量是 Monkey、Sapienz、Stoat 等先进测试工具的 3 倍,并将测试时间从半小时缩短到几分钟;在某一类 APE 上,确认错误数比数据竞争检测工具 EventRacer 多 5 倍且误报很少。

问题
Android 的单 GUI 线程模型下,异步编程规则易被违反,导致难以检测的 fail-stop 异步编程错误(APE),超过 25% 的应用存在此类问题。
方法
提出 APEChecker,将 APE 建模为特定故障模式,并协同结合静态分析与动态 UI 探索来自动检测和验证这些错误。
评估
在 40 个真实 Android 应用上,APEChecker 处理 61 个 APE 并确认 51 个(83.6% 命中率),检测数比 Monkey、Sapienz、Stoat 多 3 倍,测试时间从半小时降至几分钟,某类 APE 比 EventRacer 多确认 5 倍且误报很少。
原文摘要(Abstract)

Android, the #1 mobile app framework, enforces the single-GUI-thread model, in which a single UI thread manages GUI rendering and event dispatching. Due to this model, it is vital to avoid blocking the UI thread for responsiveness. One common practice is to offload long-running tasks into async threads. To achieve this, Android provides various async programming constructs, and leaves evelopers themselves to obey the rules implied by the model. However, as our study reveals, more than 25% apps violate these rules and introduce hard-to-detect, fail-stop errors, which we term as aysnc programming errors (APEs). To this end, this paper introduces APEChecker, a technique to automatically and efficiently manifest APEs. The key idea is to characterize APEs as specific fault patterns, and synergistically combine static analysis and dynamic UI exploration to detect and verify such errors. Among the 40 real-world Android apps, APEChecker unveils and processes 61 APEs, of which 51 are confirmed (83.6% hit rate). Specifically, APEChecker detects 3X more APEs than the state-of-art testing tools (Monkey, Sapienz and Stoat), and reduces testing time from half an hour to a few minutes. On a specific type of APEs, APEChecker confirms 5X more errors than the data race detection tool, EventRacer, with very few false alarms.

链接与引用

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

BibTeX
@inproceedings{paperbot4758,
  title = {Efficiently manifesting asynchronous programming errors in Android apps},
  author = {Lingling Fan and Ting Su and Sen Chen and Guozhu Meng and Yang Liu and Lihua Xu and Geguang Pu},
  booktitle = {ASE},
  year = {2018},
  doi = {10.1145/3238147.3238170}
}