Scaling Inter-procedural Dataflow Analysis on the Cloud

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Sun, Zewen, Zhang, Yujin, Xu, Duanchen, Zhang, Yiyu, Qi, Yun, Wang, Yueyang, Li, Yi, Wang, Zhaokang, Li, Yue, Li, Xuandong, Zuo, Zhiqiang, Lu, Qingda, Peng, Wenwen, Guo, Shengjian
Format: Preprint
Veröffentlicht: 2024
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866910749156179968
author Sun, Zewen
Zhang, Yujin
Xu, Duanchen
Zhang, Yiyu
Qi, Yun
Wang, Yueyang
Li, Yi
Wang, Zhaokang
Li, Yue
Li, Xuandong
Zuo, Zhiqiang
Lu, Qingda
Peng, Wenwen
Guo, Shengjian
author_facet Sun, Zewen
Zhang, Yujin
Xu, Duanchen
Zhang, Yiyu
Qi, Yun
Wang, Yueyang
Li, Yi
Wang, Zhaokang
Li, Yue
Li, Xuandong
Zuo, Zhiqiang
Lu, Qingda
Peng, Wenwen
Guo, Shengjian
contents 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, program comprehension, etc. Despite its importance, performing interprocedural dataflow analysis on large-scale programs is well known to be challenging. In this paper, we propose a novel distributed analysis framework supporting the general interprocedural 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 millions lines of code in minutes. Compared with the state-of-the-art, BigDataflow achieves much more analysis efficiency.
format Preprint
id arxiv_https___arxiv_org_abs_2412_12579
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Scaling Inter-procedural Dataflow Analysis on the Cloud
Sun, Zewen
Zhang, Yujin
Xu, Duanchen
Zhang, Yiyu
Qi, Yun
Wang, Yueyang
Li, Yi
Wang, Zhaokang
Li, Yue
Li, Xuandong
Zuo, Zhiqiang
Lu, Qingda
Peng, Wenwen
Guo, Shengjian
Programming Languages
Operating Systems
Software Engineering
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, program comprehension, etc. Despite its importance, performing interprocedural dataflow analysis on large-scale programs is well known to be challenging. In this paper, we propose a novel distributed analysis framework supporting the general interprocedural 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 millions lines of code in minutes. Compared with the state-of-the-art, BigDataflow achieves much more analysis efficiency.
title Scaling Inter-procedural Dataflow Analysis on the Cloud
topic Programming Languages
Operating Systems
Software Engineering
url https://arxiv.org/abs/2412.12579