Scaling Inter-procedural Dataflow Analysis on the Cloud
Apart from forming the backbone of compiler optimization, static dataflow analysis has been widely applied in a vast variety of applications, such as bug detection, privacy analysis, and program comprehension. Despite its importance, performing inter-procedural dataflow analysis on large-scale programs is well-known to be challenging. In this article, we propose a novel distributed analysis framework supporting the general inter-procedural dataflow analysis. Inspired by large-scale graph processing, we devise dedicated distributed worklist algorithms for both whole-program analysis and incremental analysis. We implement these algorithms and develop a distributed framework called BigDataflow running on a large-scale cluster. The experimental results validate the promising performance of BigDataflow—BigDataflow can finish analyzing the program of million lines of code in minutes. Compared with the state-of-the-art, BigDataflow achieves much more analysis efficiency.
Authors
- Zhaokang Wang (ORCID: https://orcid.org/0000-0002-8123-9018)
- XuanDong Li
- Zhiqiang Zuo (ORCID: https://orcid.org/0000-0001-7104-9918)
- Duanchen Xu (ORCID: https://orcid.org/0009-0000-3833-5381)
- Wenwen Peng (ORCID: https://orcid.org/0009-0000-4700-0225)
- Zewen Sun (ORCID: https://orcid.org/0009-0001-1293-122X)
- Yueyang Wang (ORCID: https://orcid.org/0009-0005-1129-722X)
- Shengjian Guo
- Yujin Zhang (ORCID: https://orcid.org/0009-0006-2563-4554)
- Yue Li
- Yun Qi
- Yiyu Zhang
- Qingda Lu
Institutions
- Alibaba Group (United States) (US)
- Alibaba Group (China) (CN)
- Nanjing University (CN)
- Baidu (China) (CN)
Publication Details
- Journal
- ACM Transactions on Programming Languages and Systems
- Published
- 2025-12-26
- DOI
- https://doi.org/10.1145/3786763
- Primary Topic
- Software Testing and Debugging Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.00