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 条
  • [41] Lifting inter-app data-flow analysis to large app sets
    Florian Sattler
    Alexander von Rhein
    Thorsten Berger
    Niklas Schalck Johansson
    Mikael Mark Hardø
    Sven Apel
    Automated Software Engineering, 2018, 25 : 315 - 346
  • [42] Modeling the Effects of Global Variables in Data-Flow Analysis for C/C plus
    Schubert, Philipp Dominik
    Sattler, Florian
    Schiebel, Fabian
    Hermann, Ben
    Bodden, Eric
    IEEE 21ST INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION (SCAM 2021), 2021, : 12 - 17
  • [43] Lifting inter-app data-flow analysis to large app sets
    Sattler, Florian
    von Rhein, Alexander
    Berger, Thorsten
    Johansson, Niklas Schalck
    Hardo, Mikael Mark
    Apel, Sven
    AUTOMATED SOFTWARE ENGINEERING, 2018, 25 (02) : 315 - 346
  • [44] Clock-directed modular code generation for synchronous data-flow languages
    Biernacki, Dariusz
    Colaco, Jean-Louis
    Hamon, Gregoire
    Pouzet, Marc
    ACM SIGPLAN NOTICES, 2008, 43 (07) : 121 - 130
  • [45] Logico-Numerical Abstract Acceleration and Application to the Verification of Data-Flow Programs
    Schrammel, Peter
    Jeannet, Bertrand
    STATIC ANALYSIS, 2011, 6887 : 233 - 248
  • [46] Efficient and Extensible Security Enforcement Using Dynamic Data Flow Analysis
    Chang, Walter
    Streiff, Brandon
    Lin, Calvin
    CCS'08: PROCEEDINGS OF THE 15TH ACM CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2008, : 39 - 50
  • [47] A Type System for Data-Flow Integrity on Windows Vista
    Chaudhuri, Avik
    Naldurg, Prasad
    Rajamani, Sriram
    ACM SIGPLAN NOTICES, 2008, 43 (12) : 9 - 20
  • [48] Efficient composite data flow analysis applied to concurrent programs
    Naumovich, G
    Clarke, LA
    Osterweil, LJ
    ACM SIGPLAN NOTICES, 1998, 33 (07) : 51 - 58
  • [49] A hierarchy of constraint systems for data-flow analysis of constraint logic-based languages
    Bagnara, R
    SCIENCE OF COMPUTER PROGRAMMING, 1998, 30 (1-2) : 119 - 155
  • [50] Paged Absolute Addressing Mode Optimizations for Embedded Digital Signal Processors Using Post-pass Data-flow Analysis
    Ashok Sudarsanam
    Sharad Malik
    Steve Tjiang
    Stan Liao
    Design Automation for Embedded Systems, 1999, 4 : 41 - 59