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 条
  • [41] Automated Bug Hunting With Data-Driven Symbolic Root Cause Analysis
    Yagemann, Carter
    Chung, Simon P.
    Saltaformaggio, Brendan
    Lee, Wenke
    CCS '21: PROCEEDINGS OF THE 2021 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2021, : 320 - 336
  • [42] MAPLE program as a tool for symbolic analysis of digital filters
    Ticha, Dasa
    Martinek, Pravoslav
    2007 17TH INTERNATIONAL CONFERENCE RADIOELEKTRONIKA, VOLS 1 AND 2, 2007, : 95 - +
  • [43] Approximate Symbolic Analysis of Hierarchically Decomposed Analog Circuits
    O. Guerra
    E. Roca
    F. V. Fernández
    A. Rodríguez-Vázquez
    Analog Integrated Circuits and Signal Processing, 2002, 31 : 131 - 145
  • [44] A Novel Symbolic Approach for Analog Circuit Noise Analysis
    Chen, Zhichao
    Li, Xiuping
    Fang, Bohai
    Qiao, Jiaze
    2024 INTERNATIONAL CONFERENCE ON MICROWAVE AND MILLIMETER WAVE TECHNOLOGY, ICMMT, 2024,
  • [45] Progress in Parallelization of Static Program Analysis
    Lu S.-M.
    Zuo Z.-Q.
    Wang L.-Z.
    Ruan Jian Xue Bao/Journal of Software, 2020, 31 (05): : 1243 - 1254
  • [46] Approximate symbolic analysis of hierarchically decomposed analog circuits
    Guerra, O
    Roca, E
    Fernández, FV
    Rodríguez-Vázquez, A
    ANALOG INTEGRATED CIRCUITS AND SIGNAL PROCESSING, 2002, 31 (02) : 131 - 145
  • [47] Improving symbolic analysis in CMOS analog integrated circuits
    Aguila-Meza, J
    Torres-Papaqui, L
    Tlelo-Cuautle, E
    2004 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS, VOL 5, PROCEEDINGS, 2004, : 193 - 196
  • [48] Nullor Equivalents of Active Devices for Symbolic Circuit Analysis
    Huang, Wen-Chung
    Wang, Hung-Yu
    Cheng, Ping-Shou
    Lin, Yang-Chiuan
    CIRCUITS SYSTEMS AND SIGNAL PROCESSING, 2012, 31 (03) : 865 - 875
  • [49] SYMBOLIC ANALYSIS OF LARGE-SCALE MICROWAVE NETWORKS
    CHEN, H
    IEE PROCEEDINGS-MICROWAVES ANTENNAS AND PROPAGATION, 1994, 141 (06) : 433 - 439
  • [50] Symbolic Liveness Analysis of Real-World Software
    Schemmel, Daniel
    Buening, Julian
    Dustmann, Oscar Soria
    Noll, Thomas
    Wehrle, Klaus
    COMPUTER AIDED VERIFICATION, CAV 2018, PT II, 2018, 10982 : 447 - 466