paperbot · PL 论文追踪

全部论文 待读 收藏

P2 DDLDroid: A Static Analyzer for Automatically Detecting Data Loss Issues in Android Applications

DDLDroid:一种自动检测 Android 应用中数据丢失问题的静态分析器
ISSTA Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis2023匹配度 2/10 · 该论文属于传统静态程序分析与抽象解释,应用于 Android 数据丢失检测,与用户画像中 PL→AI(在 ML/Agentic 系统中应用静态分析)、AI→PL(LLM 改进静态分析)、浮点程序分析或贝叶斯程序分析均无直接关联。仅在静态分析这一大方向上有微弱交集。引用 2 inbox
Yuhao Zhou, Wei Song
crossref: 2026-09-12

AI 速览

一句话:提出基于保存-恢复二分图与数据流分析的静态分析器,自动检测 Android 应用中的数据丢失问题。

本文针对 Android 应用在 activity 重启或应用重新启动时用户数据丢失的问题,提出了静态分析器 DDLDroid。其核心思想是先构建一张保存-恢复二分图(saving-restoring bipartite graph),依据变量所属的载体控件(carrier widgets)将需要保存的变量与需要恢复的变量关联起来;随后在此基础上对保存数据流与恢复数据流进行分析,一旦发现数据流缺失或断裂,即报告潜在的数据丢失问题。作者在 66 个真实 Android 应用上对 DDLDroid 进行了评估,在 73 分钟内检测出 302 个真实的数据丢失问题,其中 180 个为此前未知的问题,表明该工具兼具良好的效果与效率。

问题
Android 应用在 activity 重启或应用重新启动时容易发生用户数据丢失,而开发者缺乏自动化的检测手段。
方法
通过保存-恢复二分图将需保存变量与需恢复变量按载体控件关联,并基于保存与恢复数据流分析识别遗漏或断裂的数据流,从而报告数据丢失问题。
评估
在 66 个 Android 应用上进行实验,73 分钟内共检测出 302 个真实数据丢失问题(含 180 个此前未知问题),验证了工具的有效性与效率。
原文摘要(Abstract)

DDLDroid is a static analyzer for detecting data loss issues in Android apps during activity restart or app relaunch. It is bootstrapped by a saving-restoring bipartite graph which correlates variables that need saving to those that need restoring according to their carrier widgets, and is based on the analysis of saving and restoring data flows. It reports data loss issues once missed or broken data flows are identified. DDLDroid detects 302 true data loss issues out of 66 Android apps in 73 minutes, including 180 previously-unknown issues, demonstrating its effectiveness and efficiency.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot8060,
  title = {DDLDroid: A Static Analyzer for Automatically Detecting Data Loss Issues in Android Applications},
  author = {Yuhao Zhou and Wei Song},
  booktitle = {ISSTA},
  year = {2023},
  doi = {10.1145/3597926.3604916}
}