Sustainable Solving: Reducing The Memory Footprint of IFDS-Based Data Flow Analyses Using Intelligent Garbage Collection
Steven Arzt
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%.
Ask about this paper
Ask your agent about it.
Lune has read the top-tier papers around this one, so every answer names the papers it rests on.
Your agent calls
Lunesearch_papers
Free to start. No credit card required.
Terminal
Install the CLIlune papers get df9ffe9c-3fcd-45ff-97dd-3a410e3642c3Cited by top-tier papers7
- Two Birds with One Stone: Multi-Derivation for Fast Context-Free Language Reachability AnalysisChenghang Shi, Haofeng Li, Yulei Sui, Jie Lu et al.ASE 2023 · 6 citations
- Boosting the Performance of Alias-Aware IFDS Analysis with CFL-Based Environment TransformersHaofeng Li, Chenghang Shi, Jie Lu, Lian Li et al.OOPSLA 2024 · 6 citations
- Reducing the Memory Footprint of IFDS-Based Data-Flow Analyses using Fine-Grained Garbage CollectionDongjie He, Yujiang Gui, Yaoqing Gao, Jingling XueISSTA 2023 · 6 citations
- Merge-Replay: Efficient IFDS-Based Taint Analysis by Consolidating Equivalent Value FlowsYujiang Gui, Dongjie He, Jingling XueASE 2023 · 6 citations
- DStream: A Streaming-Based Highly Parallel IFDS FrameworkXizao Wang, Zhiqiang Zuo, Lei Bu, Jianhua ZhaoICSE 2023 · 5 citations
Related papers
- The impact of tool configuration spaces on the evaluation of configurable taint analysis for AndroidAustin Mordahl, Shiyi WeiISSTA 2021 · 13 citations
- Restart and Refine: Scalable IFDS Taint Analysis across Memory BudgetsYujiang Gui, Yonggang Tao, Jingling XuePLDI 2026
- 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 et al.S&P 2022 · 11 citations
- DDLDroid: Efficiently Detecting Data Loss Issues in Android AppsYuhao Zhou, Wei SongISSTA 2023 · 1 citation
- ViaLin: Path-Aware Dynamic Taint Analysis for AndroidKhaled Ahmed, Yingying Wang, Mieszko Lis, Julia RubinFSE 2023 · 7 citations
