Schematic Program Proofs with Abstract Execution

被引:0
|
作者
Steinhoefel, Dominic [1 ]
Haehnle, Reiner [2 ]
机构
[1] CISPA Helmholtz Ctr Informat Secur, Stuhlsatzenhaus 5, D-66123 Saarbrucken, Germany
[2] Tech Univ Darmstadt, Software Engn Grp, Hochschulstr 10, D-64289 Darmstadt, Germany
关键词
Schematic Programs; Symbolic Execution; Deductive Verification; Program Transformation; Second-Order Program Properties; DYNAMIC FRAMES; VERIFICATION;
D O I
10.1007/s10817-023-09692-0
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
We propose Abstract Execution, a static verification framework based on symbolic execution and dynamic frames for proving properties of schematic programs. Since a schematic program may potentially represent infinitely many concrete programs, Abstract Execution can analyze infinitely many programs at once. Trading off expressiveness and automation, the framework allows proving many interesting (universal, behavioral) properties fully automatically. Its main application are correctness proofs of program transformations represented as pairs of schematic programs. We implemented Abstract Execution in a deductive verification framework and designed a graphical workbench supporting the modeling process. Abstract Execution has been applied to correct code refactoring, analysis of the cost impact of transformation rules, and parallelization of sequential code. Using our framework, we found and reported several bugs in the refactoring engines of the Java IDEs IntelliJ IDEA and Eclipse, which were acknowledged and fixed.
引用
收藏
页数:57
相关论文
共 50 条
  • [31] Local Proofs Approaching the Witness Length [Extended Abstract]
    Ron-Zewi, Noga
    Rothblum, Ron D.
    2020 IEEE 61ST ANNUAL SYMPOSIUM ON FOUNDATIONS OF COMPUTER SCIENCE (FOCS 2020), 2020, : 846 - 857
  • [32] Framework Execution and Schematic of Jounce Bumper in Two-Wheeler Fork
    Babu, T.
    Sudharshan, R.
    Suhail, Mohammed
    Pradeep, K.
    Arun, S. Sanjay
    ADVANCES IN MANUFACTURING TECHNOLOGY, 2019, : 503 - 509
  • [33] Encrypted Program Execution
    Zhuravlev, Dmytro
    Samoilovych, Ihor
    Orlovskyi, Roman
    Bondarenko, Ievgen
    Lavrenyuk, Yaroslav
    2014 IEEE 13TH INTERNATIONAL CONFERENCE ON TRUST, SECURITY AND PRIVACY IN COMPUTING AND COMMUNICATIONS (TRUSTCOM), 2014, : 817 - 822
  • [34] Visualizing program execution
    Jayaraman, B
    Baltus, CM
    IEEE SYMPOSIUM ON VISUAL LANGUAGES, PROCEEDINGS, 1996, : 30 - 37
  • [35] THE PROGRAM AND ITS EXECUTION
    KAHN, A
    M S-MEDECINE SCIENCES, 1992, 8 (02): : 149 - 151
  • [36] Programs from Proofs: A Framework for the Safe Execution of Untrusted Software
    Jakobs, Marie-Christine
    Wehrheim, Heike
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2017, 39 (02):
  • [37] Minimal TCB code execution (Extended abstract)
    McCune, Jonathan M.
    Pamo, Bryan
    Perrig, Adrian
    Reiter, Michael K.
    Seshadri, Arvind
    2007 IEEE SYMPOSIUM ON SECURITY AND PRIVACY, PROCEEDINGS, 2007, : 267 - +
  • [38] LART: Compiled Abstract Execution (Competition Contribution)
    Lauko, Henrich
    Rockai, Petr
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, TACAS 2022, PT II, 2022, 13244 : 457 - 461
  • [39] ABSTRACT EXECUTION - A TECHNIQUE FOR EFFICIENTLY TRACING PROGRAMS
    LARUS, JR
    SOFTWARE-PRACTICE & EXPERIENCE, 1990, 20 (12): : 1241 - 1258
  • [40] REDUNDANT PROOFS OF NONINTERFERENCE IN LEVIN-GRIES CSP PROGRAM PROOFS
    MURTAGH, TP
    ACTA INFORMATICA, 1987, 24 (02) : 145 - 156