paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Sustainable Solving: Reducing the Memory Footprint of IFDS-Based Data Flow Analyses Using Intelligent Garbage Collection

可持续求解:利用智能垃圾回收降低基于 IFDS 的数据流分析内存占用
ICSE 2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE)2021匹配度 3/10 · 该论文属于传统静态程序分析中的 IFDS 数据流分析内存优化,与用户核心方向(PL×AI、LLM/Agent 辅助静态分析、浮点程序分析、贝叶斯程序分析)没有直接交集。它仅在广义静态分析背景上相关,且工业落地和工程实现方面有一定参考价值,但不涉及机器学习、Agent、LLM 或浮点/贝叶斯分析。引用 16 inbox
Steven Arzt
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出 CleanDroid,通过智能清理 IFDS 路径边表来降低数据流分析的内存占用并加速求解。

静态数据流分析广泛应用于代码优化、安全与隐私分析等场景,而 IFDS 等精确算法虽能减少误报,却因在展开超图上做不动点迭代而内存开销巨大,中型应用即可消耗数百 MB 至数 GB。本文提出 CleanDroid 技术,在不影响终止性的前提下,从 IFDS 不动点迭代所用的路径边表中高效删除边,从而压缩内存占用。该技术被集成到流行的开源数据流求解器 FlowDroid 中。在 600 个来自 Google Play 的真实 Android 应用上的评估表明,CleanDroid 将每个应用的平均内存消耗降低约 63% 至 78%,同时最高可加速分析 66%。

问题
基于 IFDS 的精确数据流分析在展开超图上迭代求解,内存消耗极大,难以扩展到中型应用。
方法
提出 CleanDroid,通过智能垃圾回收从路径边表中删除边,且不影响不动点迭代的终止性,并集成到 FlowDroid 中。
评估
在 600 个真实 Android 应用上评估,平均每应用内存降低约 63%–78%,分析速度最高提升 66%。
原文摘要(Abstract)

Static data flow analysis is an integral building block for many applications, ranging from compile-time code optimization to security and privacy analysis. When assessing whether a mobile app is trustworthy, for example, analysts need to identify which of the user's personal data is sent to external parties such as the app developer or cloud providers. Since accessing and sending data is usually done via API calls, tracking the data flow between source and sink API is often the method of choice. Precise algorithms such as IFDS help reduce the number of false positives, but also introduce significant performance penalties. With its fixpoint iteration over the program's entire exploded supergraph, IFDS is particularly memory-intensive, consuming hundreds of megabytes or even several gigabytes for medium-sized apps. In this paper, we present a technique called CleanDroid for reducing the memory footprint of a precise IFDS-based data flow analysis and demonstrate its effectiveness in the popular FlowDroid open-source data flow solver. CleanDroid efficiently removes edges from the path edge table used for the IFDS fixpoint iteration without affecting termination. As we show on 600 realworld Android apps from the Google Play Store, CleanDroid reduces the average per-app memory consumption by around 63% to 78%. At the same time, CleanDroid speeds up the analysis by up to 66%.

链接与引用

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

BibTeX
@inproceedings{Arzt21,
  title = {Sustainable Solving: Reducing the Memory Footprint of IFDS-Based Data Flow Analyses Using Intelligent Garbage Collection},
  author = {Steven Arzt},
  booktitle = {ICSE},
  year = {2021},
  doi = {10.1109/icse43902.2021.00102}
}