Scaling Inter-procedural Dataflow Analysis on the Cloud
Fuente:
arXiv
Gespeichert in:
| Hauptverfasser: | , , , , , , , , , , , , , |
|---|---|
| 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 |