paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Detecting non-crashing functional bugs in Android apps via deep-state differential analysis

通过深度状态差分分析检测 Android 应用中的非崩溃功能缺陷
FSE Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering2022匹配度 1/10 · 该论文面向 Android 应用的非崩溃功能缺陷检测,属于动态测试与缺陷预言机方向,未涉及静态分析、ML/LLM/Agent、浮点程序分析或贝叶斯程序分析等用户核心研究方向。引用 26 inbox
Jue Wang, Yanyan Jiang, Ting Su, Shaohua Li, Chang Xu, Jian Lu, Zhendong Su
crossref: 2026-09-12

AI 速览

一句话:提出深度状态差分分析,将“偏差行为即缺陷”预言机泛化到 Android 应用,自动检测非崩溃功能缺陷。

Android 应用的非崩溃功能缺陷会严重影响用户体验,常埋藏于稀有程序路径中,难以检测且后果严重。现有自动功能缺陷预言机很少,且多局限于有限缺陷类型。本文提出 deep-state differential analysis,将经典“bugs as deviant behaviors”思想作为通用自动测试预言机。方法基于两个观察:大量执行轨迹会到达 GUI 布局相似的内部状态,其中仅少数到达错误状态;在相似 GUI 布局上执行相同动作序列时,结果有限。为此,对终止于相似 GUI 布局的每组测试输入,追加相同事件以显现可比应用行为,聚类并识别少数类为可能异常;同时通过输入校准平衡测试输入分布,以应对稀有缺陷。

问题
Android 应用的非崩溃功能缺陷常位于稀有路径,后果严重,但现有自动功能缺陷预言机很少且只支持有限缺陷类型。
方法
提出 deep-state differential analysis,利用相似 GUI 布局下追加相同事件后的可比行为进行聚类,将少数异常识别为潜在缺陷,并通过输入校准平衡测试输入分布。
评估
摘要未报告具体实验设置与定量结果;评估基于自动生成的测试输入及其执行观测,对终止于相似 GUI 布局的输入行为进行比较,以识别可能的非崩溃功能异常。
原文摘要(Abstract)

Non-crashing functional bugs of Android apps can seriously affect user experience. Often buried in rare program paths, such bugs are difficult to detect but lead to severe consequences. Unfortunately, very few automatic functional bug oracles for Android apps exist, and they are all specific to limited types of bugs. In this paper, we introduce a novel technique named deep-state differential analysis, which brings the classical "bugs as deviant behaviors" oracle to Android apps as a generic automatic test oracle. Our oracle utilizes the observations on the execution of automatically generated test inputs that (1) there can be a large number of traces reaching internal app states with similar GUI layouts, and only a small portion of them would reach an erroneous app state, and (2) when performing the same sequence of actions on similar GUI layouts, the outcomes will be limited. Therefore, for each set of test inputs terminating at similar GUI layouts, we manifest comparable app behaviors by appending the same events to these inputs, cluster the manifested behaviors, and identify minorities as possible anomalies. We also calibrate the distribution of these test inputs by a novel input calibration procedure, to ensure the distribution of these test inputs is balanced with rare bug occurrences.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot6966,
  title = {Detecting non-crashing functional bugs in Android apps via deep-state differential analysis},
  author = {Jue Wang and Yanyan Jiang and Ting Su and Shaohua Li and Chang Xu and Jian Lu and Zhendong Su},
  booktitle = {FSE},
  year = {2022},
  doi = {10.1145/3540250.3549170}
}