Reducing the Memory Footprint of IFDS-Based Data-Flow Analyses using Fine-Grained Garbage Collection
Dongjie He, Yujiang Gui, Yaoqing Gao, Jingling Xue
摘要
The IFDS algorithm can be both memory-and compute-intensive for large programs as it needs to store a huge amount of path edges in memory and process them until a fixed point. In general, an IFDSbased data-flow analysis, such as taint analysis, aims to discover only the data-flow facts at some program points. Maintaining a huge amount of path edges (with many visited only once) wastes memory resources, and consequently, reduces its scalability and efficiency (due to frequent re-hashings for the path-edge data structure used). This paper introduces a fine-grained garbage collection (GC) algorithm to enable (multi-threaded) IFDS to reduce its memory footprint by removing non-live path edges (i.e., ones that are no longer needed for establishing other path edges) from its path-edge data structure. The resulting IFDS algorithm, named Fpc, retains the correctness, precision, and termination properties of IFDS while avoiding re-processing GC'ed path edges redundantly (in the presence of unknown recursive cycles that may be formed in future iterations of the analysis). Unlike CleanDroid, which augments IFDS with a coarse-grained GC algorithm to collect path edges at the method level, Fpc is fine-grained by collecting path edges at the data-fact level. As a result, Fpc can collect more path edges than CleanDroid, and consequently, cause fewer re-hashings for the path-edge data structure used. In our evaluation, we focus on applying an IFDS-based taint analysis to a set of 28 Android apps. Fpc can scalably analyze three apps that CleanDroid fails to run to completion (under a 3-hour budget per app) due to out-of-memory (OoM). For the remaining 25 apps, Fpc reduces the number of path edges and memory usage incurred under CleanDroid by 4.4×
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper4
- Boosting the Performance of Alias-Aware IFDS Analysis with CFL-Based Environment TransformersHaofeng Li, Chenghang Shi, Jie Lu, Lian Li 等OOPSLA 2024 · 被引用 6 次
- Merge-Replay: Efficient IFDS-Based Taint Analysis by Consolidating Equivalent Value FlowsYujiang Gui, Dongjie He, Jingling XueASE 2023 · 被引用 6 次
- Taking Out the Toxic Trash: Recovering Precision in Mixed Flow-Sensitive Static AnalysesFabian Stemmler, Michael Schwarz, Julian Erhard, Sarah Tilscher 等PLDI 2025 · 被引用 3 次
- VulPA: Detecting Semantically Recurring Vulnerabilities with Multi-object Typestate AnalysisLiqing Cao, Haofeng Li, Chenghang Shi, Jie Lu 等FSE 2025
它引用的顶会 Paper6
- Neutaint: Efficient Dynamic Taint Analysis with Neural NetworksDongdong She, Yizheng Chen, Abhishek Shah, Baishakhi Ray 等S&P 2020 · 被引用 54 次
- The impact of tool configuration spaces on the evaluation of configurable taint analysis for AndroidAustin Mordahl, Shiyi WeiISSTA 2021 · 被引用 13 次
- Context Debloating for Object-Sensitive Pointer AnalysisDongjie He, Jingbo Lu, Jingling XueASE 2021 · 被引用 10 次
- Heaps'n leaks: how heap snapshots improve Android taint analysisManuel Benz, Erik Krogh Kristensen, Linghui Luo, Nataniel P. Borges 等ICSE 2020 · 被引用 9 次
- Sustainable Solving: Reducing The Memory Footprint of IFDS-Based Data Flow Analyses Using Intelligent Garbage CollectionSteven ArztICSE 2021 · 被引用 9 次
相关 Paper
- Restart and Refine: Scalable IFDS Taint Analysis across Memory BudgetsYujiang Gui, Yonggang Tao, Jingling XuePLDI 2026
- DStream: A Streaming-Based Highly Parallel IFDS FrameworkXizao Wang, Zhiqiang Zuo, Lei Bu, Jianhua ZhaoICSE 2023 · 被引用 5 次
- FSAFlow: Lightweight and Fast Dynamic Path Tracking and Control for Privacy Protection on Android Using Hybrid Analysis with State-Reduction StrategyZhi Yang, Zhanhui Yuan, Shuyuan Jin, Xingyuan Chen 等S&P 2022 · 被引用 11 次
- ViaLin: Path-Aware Dynamic Taint Analysis for AndroidKhaled Ahmed, Yingying Wang, Mieszko Lis, Julia RubinFSE 2023 · 被引用 7 次
- Fast graph simplification for interleaved Dyck-reachabilityYuanbo Li, Qirun Zhang, Thomas W. RepsPLDI 2020 · 被引用 30 次
