Efficient Interprocedural Data-Flow Analysis Using Treedepth and Treewidth

被引:6
作者
Goharshady, Amir Kafshdar [1 ]
Zaher, Ahmed Khaled [1 ]
机构
[1] Hong Kong Univ Sci & Technol, Clear Water Bay, Hong Kong, Peoples R China
来源
VERIFICATION, MODEL CHECKING, AND ABSTRACT INTERPRETATION, VMCAI 2023 | 2023年 / 13881卷
关键词
Static analysis; Data-flow analysis; IFDS; Parameterized algorithms; POINTS-TO ANALYSIS; TREE-WIDTH; GRAPH MINORS; ALGORITHMS; VERIFICATION;
D O I
10.1007/978-3-031-24950-1_9
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We consider interprocedural data-flow analysis as formalized by the standard IFDS framework, which can express many widelyused static analyses such as reaching definitions, live variables, and nullpointer. We focus on the well-studied on-demand setting in which queries arrive one-by-one in a stream and each query should be answered as fast as possible. While the classical IFDS algorithm provides a polynomialtime solution for this problem, it is not scalable in practice. More specifically, it will either require a quadratic-time preprocessing phase or takes linear time per query, both of which are untenable for modern huge codebases with hundreds of thousands of lines. Previous works have already shown that parameterizing the problem by the treewidth of the program's control-flow graph is promising and can lead to significant gains in efficiency. Unfortunately, these results were only applicable to the limited special case of same-context queries. In this work, we obtain significant speedups for the general case of on-demand IFDS with queries that are not necessarily same-context. This is achieved by exploiting a new graph sparsity parameter, namely the treedepth of the program's call graph. Our approach is the first to exploit the sparsity of control-flow graphs and call graphs at the same time and parameterize by both the treewidth and the treedepth. We obtain an algorithm with a linear preprocessing phase that can answer each query in constant time wrt the size of the input. Finally, our experimental results demonstrate that our approach significantly outperforms the classical IFDS and its on-demand variant.
引用
收藏
页码:177 / 202
页数:26
相关论文
共 50 条
  • [31] Precise interprocedural analysis using random interpretation
    Gulwani, S
    Necula, GC
    ACM SIGPLAN NOTICES, 2005, 40 (01) : 324 - 337
  • [32] Data-flow based vulnerability analysis and Java']Java bytecode
    Chen, Hua
    Zou, Tao
    Wang, Dongxia
    PROCEEDINGS OF THE 7TH WSEAS INTERNATIONAL CONFERENCE ON APPLIED COMPUTER SCIENCE: COMPUTER SCIENCE CHALLENGES, 2007, : 201 - +
  • [33] Towards Efficient Large-Scale Interprocedural Program Static Analysis on Distributed Data-Parallel Computation
    Gu, Rong
    Zuo, Zhiqiang
    Jiang, Xi
    Yin, Han
    Wang, Zhaokang
    Wang, Linzhang
    Li, Xuandong
    Huang, Yihua
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2021, 32 (04) : 867 - 883
  • [34] A Data-Flow Methodology for Accelerating FFT
    Verdoscia, Lorenzo
    Sahebi, Amin
    Giorgi, Roberto
    2019 8TH MEDITERRANEAN CONFERENCE ON EMBEDDED COMPUTING (MECO), 2019, : 471 - 474
  • [35] Data-Flow Frameworks for Worst-Case Execution Time Analysis
    Johann Blieberger
    Real-Time Systems, 2002, 22 : 183 - 227
  • [36] Data-flow frameworks for worst-case execution time analysis
    Blieberger, J
    REAL-TIME SYSTEMS, 2002, 22 (03) : 183 - 227
  • [37] Grafcet revisited with a synchronous data-flow language
    Le Parc, P
    L'Her, D
    Scharbarg, JL
    Marcé, L
    IEEE TRANSACTIONS ON SYSTEMS MAN AND CYBERNETICS PART A-SYSTEMS AND HUMANS, 1999, 29 (03): : 284 - 293
  • [38] Interprocedural data flow based optimizations for distributed memory compilation
    Agrawal, G
    Saltz, J
    SOFTWARE-PRACTICE & EXPERIENCE, 1997, 27 (05) : 519 - 545
  • [39] CRYPTODY: Cryptographic Misuse Analysis of IoT Firmware via Data-flow Reasoning
    Wang, Jianing
    Guo, Shanqing
    Diao, Wenrui
    Liu, Yue
    Duan, Haixin
    Liu, Yichen
    Liang, Zhenkai
    PROCEEDINGS OF 27TH INTERNATIONAL SYMPOSIUM ON RESEARCH IN ATTACKS, INTRUSIONS AND DEFENSES, RAID 2024, 2024, : 579 - 593
  • [40] A global communication optimization technique based on data-flow analysis and linear algebra
    Kandemir, M
    Banerjee, P
    Choudhary, A
    Ramanujam, J
    Shenoy, N
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1999, 21 (06): : 1251 - 1297