kirancodes.me
To Proof Maintenance & Beyond!

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.

BibTeX
@inproceedings{Wang-al:ICSE23,
  author    = {Xizao Wang and
               Zhiqiang Zuo and
               Lei Bu and
               Jianhua Zhao},
  title     = {{DStream:} A {Streaming-Based} Highly Parallel {IFDS} Framework},
  booktitle = {ICSE},
  pages     = {2488--2500},
  publisher = {{IEEE}},
  year      = {2023},
}

Related papers