DStream: A Streaming-Based Highly Parallel IFDS Framework
Xizao Wang, Zhiqiang Zuo, Lei Bu, Jianhua Zhao
Abstract
The IFDS framework supports interprocedural dataflow analysis with distributive flow functions over finite domains. A large class of interprocedural dataflow analysis problems can be formulated as IFDS problems and thus can be solved with the IFDS framework precisely. Unfortunately, scaling IFDS analysis to large-scale programs is challenging in terms of both massive memory consumption and low analysis efficiency. This paper presents DStream, a scalable system dedicated to precise and highly parallel IFDS analysis for large-scale programs. DStream leverages a streaming-based out-of-core computation model to reduce memory footprint significantly and adopts fine-grained data parallelism to achieve efficiency. We implemented a taint analysis as a DStream instance analysis and compared DStream with three state-of-the-art tools. Our exper-iments validate that DStream outperforms all other tools with average speedups from 4.37x to 14.46x on a commodity PC with limited available memory. Meanwhile, the experiments confirm that DStream successfully scales to large-scale programs which the state-of-the-art tools (e.g., FlowDroid and/or DiskDroid) fail to analyze.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Cited by top-tier papers3
- 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
- Merge-Replay: Efficient IFDS-Based Taint Analysis by Consolidating Equivalent Value FlowsYujiang Gui, Dongjie He, Jingling XueASE 2023 · 6 citations
- TIPS: Tracking Integer-Pointer Value Flows for C++ Member Function PointersChangwei Zou, Dongjie He, Yulei Sui, Jingling XueFSE 2024 · 1 citation
Builds on4
- Chianina: an evolving graph system for flow- and context-sensitive analyses of million lines of C codeZhiqiang Zuo, Yiyu Zhang, Qiuhong Pan, Shenming Lu et al.PLDI 2021 · 18 citations
- Pipelining bottom-up data flow analysisQingkai Shi, Charles ZhangICSE 2020 · 14 citations
- Sustainable Solving: Reducing The Memory Footprint of IFDS-Based Data Flow Analyses Using Intelligent Garbage CollectionSteven ArztICSE 2021 · 9 citations
- A programming model for semi-implicit parallelization of static analysesDominik Helm, Florian Kübler, Jan Thomas Kölzer, Philipp Haller et al.ISSTA 2020 · 8 citations
Related papers
- 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
- BigDataflow: A Distributed Interprocedural Dataflow Analysis FrameworkZewen Sun, Duanchen Xu, Yiyu Zhang, Yun Qi et al.FSE 2023 · 10 citations
- FlowMatrix: GPU-Assisted Information-Flow Analysis through Matrix-Based RepresentationKaihang Ji, Jun Zeng, Yuancheng Jiang, Zhenkai Liang et al.USENIX Security 2022
- Restart and Refine: Scalable IFDS Taint Analysis across Memory BudgetsYujiang Gui, Yonggang Tao, Jingling XuePLDI 2026
- The impact of tool configuration spaces on the evaluation of configurable taint analysis for AndroidAustin Mordahl, Shiyi WeiISSTA 2021 · 13 citations
