arrow
Return

Towards Efficient Large-Scale Interprocedural Program Static Analysis on Distributed Data-Parallel Computation

delete2021-04-01
delete10
PRE
AI
R
Rong Gu
左志强 cover
左志强 (Zhiqiang Zuo)
X
Xi Jiang
H
Han Yin
王肇康 (Zhaokang Wang)
L
Linzhang Wang
X
Xuandong Li
Y
Yihua Huang *
DOI:10.1109/TPDS.2020.3036190delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Static program analysis has been widely applied along the whole process of the program development for bug detection, code optimization, testing, etc. Although researchers have made significant work in static program analysis, it is still challenging to perform sophisticated interprocedural analysis on large-scale modern software. The underlying reason is that interprocedural analysis for large-scale modern software is highly computation- and memory-intensive, leading to poor efficiency and scalability. In this article, we introduce an efficient distributed and scalable solution for sophisticated static analysis. Specifically, we propose a data-parallel algorithm and a join-process-filter computation model for the CFL-reachability-based interprocedural analysis. Based on that, an efficient distributed static analysis engine called BigSpa is developed, which is composed of an offline batch static program analysis system and an online incremental static program analysis system. The BigSpa system has high generality and can support all kinds of static analysis tasks that can be expressed as CFL reachability problems. The performance of BigSpa is evaluated on real-world large-scale software datasets. Our experiments show that the offline batch system can exceed an order of magnitude compared with the most advanced analysis tools available on performance, and for incremental analysis with small batch updates on the same data sets, the online analysis system can achieve near real-time response, which is very fast and flexible.
Keywords:
Static analysis
Software
Scalability
Task analysis
Optimization
Big Data
Computational modeling
Interprocedural static analysis
distributed systems
data-parallel computation
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

IEEE Transactions on Parallel and Distributed Systems cover
IEEE Transactions on Parallel and Distributed Systems
IF:
6
Papers:
5.2K
Citations:
1.1W

Organization

N
nanjing university
Scholars:
7.7W
Papers: 5.6W
Citations: 87