A symbolic analysis framework for static analysis of imperative programming languages

被引:6
作者
Burgstaller, Bernd [1 ]
Scholz, Bernhard [2 ]
Blieberger, Johann [3 ]
机构
[1] Yonsei Univ, Seoul 120749, South Korea
[2] Univ Sydney, Sydney, NSW 2006, Australia
[3] Vienna Univ Technol, A-1040 Vienna, Austria
基金
新加坡国家研究基金会; 澳大利亚研究理事会;
关键词
Static program analysis; Symbolic analysis; Path expression algebra; Programming language semantics; INDUCTION VARIABLES; EXECUTION; CHECKING;
D O I
10.1016/j.jss.2011.11.1039
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We present a generic symbolic analysis framework for imperative programming languages. Our framework is capable of computing all valid variable bindings of a program at given program points. This information is invaluable for domain-specific static program analyses such as memory leak detection, program parallelization, and the detection of superfluous bound checks, variable aliases and task deadlocks. We employ path expression algebra to model the control flow information of programs. A homomorphism maps path expressions into the symbolic domain. At the center of the symbolic domain is a compact algebraic structure called supercontext. A supercontext contains the complete control and data flow analysis information valid at a given program point. Our approach to compute supercontexts is based purely on algebra and is fully automated. This novel representation of program semantics closes the gap between program analysis and computer algebra systems, which makes supercontexts an ideal symbolic intermediate representation for all domain-specific static program analyses. Our approach is more general than existing methods because it can derive solutions for arbitrary (even intra-loop and nested loop) nodes of reducible and irreducible control flow graphs. We prove the correctness of our symbolic analysis method. Our experimental results show that the problem sizes arising from real-world applications such as the SPEC95 benchmark suite are tractable for our symbolic analysis framework. (C) 2011 Elsevier Inc. All rights reserved.
引用
收藏
页码:1418 / 1439
页数:22
相关论文
共 50 条
  • [1] MAF: A Framework for Modular Static Analysis of Higher-Order Languages
    Van Es, Noah
    Van der Plas, Jens
    Stievenart, Quentin
    De Roover, Coen
    2020 20TH IEEE INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION (SCAM 2020), 2020, : 37 - 42
  • [2] SootUp: A Redesign of the Soot Static Analysis Framework
    Karakaya, Kadiray
    Schott, Stefan
    Klauke, Jonas
    Bodden, Eric
    Schmidt, Markus
    Luo, Linghui
    He, Dongjie
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, PT I, TACAS 2024, 2024, 14570 : 229 - 247
  • [3] Natural semantics as a static program analysis framework
    Glesner, S
    Zimmermann, W
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2004, 26 (03): : 510 - 577
  • [4] srcPtr: A Framework for Implementing Static Pointer Analysis Approaches
    Zyrianov, Vlas
    Newman, Christian D.
    Guarnera, Drew T.
    Collard, Michael L.
    Maletic, Jonathan, I
    2019 IEEE/ACM 27TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC 2019), 2019, : 144 - 147
  • [5] Sparse Framework Based Static Taint Analysis Optimization
    Wang L.
    He D.
    Li L.
    Feng X.
    Jisuanji Yanjiu yu Fazhan/Computer Research and Development, 2019, 56 (03): : 480 - 495
  • [6] Courseware for symbolic analysis
    Kolka, Z
    Proceedings of the 4th WSEAS International Conference on Applications of Electrical Engineering, 2005, : 160 - 163
  • [7] PGFIT: Static permission analysis of health and fitness apps in IoT programming frameworks
    Nobakht, Mehdi
    Sui, Yulei
    Seneviratne, Aruna
    Hu, Wen
    JOURNAL OF NETWORK AND COMPUTER APPLICATIONS, 2020, 152
  • [8] Zero Knowledge Static Program Analysis
    Fang, Zhiyong
    Darais, David
    Near, Joseph P.
    Zhang, Yupeng
    CCS '21: PROCEEDINGS OF THE 2021 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2021, : 2951 - 2967
  • [9] Symbolic analysis of digital networks
    Al-Assaly, LM
    Al-Naima, FM
    IETE JOURNAL OF RESEARCH, 2000, 46 (1-2) : 3 - 8
  • [10] Abstract Analysis of Symbolic Executions
    Albarghouthi, Aws
    Gurfinkel, Arie
    Wei, Ou
    Chechik, Marsha
    COMPUTER AIDED VERIFICATION, PROCEEDINGS, 2010, 6174 : 495 - +