一句话:提出分布式框架 BigDataflow,用分布式 worklist 算法在集群上高效完成百万行级程序的过程间数据流分析。
静态数据流分析是编译器优化的核心,也广泛用于缺陷检测、隐私分析与程序理解,但在大规模程序上做过程间分析极为困难。本文提出一个支持通用过程间数据流分析的分布式分析框架:受大规模图处理系统启发,作者为全程序分析和增量分析分别设计了专用的分布式 worklist 算法,并在大规模集群上实现了名为 BigDataflow 的分布式框架。实验结果表明,BigDataflow 能在数分钟内完成百万行代码程序的分析,与当前最先进的方法相比取得了显著更高的分析效率,验证了其良好的可扩展性。
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.
@article{abs-2412-12579,
title = {Scaling Inter-procedural Dataflow Analysis on the Cloud},
author = {Zewen Sun and Yujin Zhang and Yueyang Wang and Duanchen Xu and Yiyu Zhang and Yun Qi and Zhaokang Wang and Yue Li and Xuandong Li and Qingda Lu and Wenwen Peng and Shengjian Guo and Zhiqiang Zuo},
journal = {ACM Transactions on Programming Languages and Systems},
volume = {48},
number = {1},
year = {2026},
doi = {10.1145/3786763}
}