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 条
  • [1] Psychological validity of schematic proofs
    Jamnik, M
    Bundy, A
    MECHANIZING MATHEMATICAL REASONING: ESSAYS IN HONOUR OF JORG H SIEKMANN ON THE OCCASION OF HIS 60TH BIRTHDAY, 2005, 2605 : 321 - 341
  • [2] A model of program execution for security purposes, an extended abstract
    Liu, ZQ
    ICCC2004: Proceedings of the 16th International Conference on Computer Communication Vol 1and 2, 2004, : 509 - 513
  • [3] Combined Abstract-Program Execution in the Saturn Instrumental Complex
    Oparin, G. A.
    Feoktistov, A. G.
    Feoktistov, D. G.
    Automatic Control and Computer Sciences (English translation of Avtomatika i Vychislitel'naya Tekhnika), 1996, 30 (06):
  • [4] Abstract cyclic proofs
    Afshari, Bahareh
    Wehr, Dominik
    MATHEMATICAL STRUCTURES IN COMPUTER SCIENCE, 2024, 34 (07) : 552 - 577
  • [5] Abstract Cyclic Proofs
    Afshari, Bahareh
    Wehr, Dominik
    LOGIC, LANGUAGE, INFORMATION, AND COMPUTATION, WOLLIC 2022, 2022, 13468 : 309 - 325
  • [6] A Curry-Howard isomorphism for compilation and program execution (Extended abstract)
    Ohori, A
    TYPED LAMBDA CALCULI AND APPLICATIONS, 1999, 1581 : 280 - 294
  • [7] ABSTRACT IMPLEMENTATIONS AND CORRECTNESS PROOFS
    BERNOT, G
    BIDOIT, M
    CHOPPY, C
    LECTURE NOTES IN COMPUTER SCIENCE, 1986, 210 : 236 - 251
  • [8] ABSTRACT IMPLEMENTATIONS AND THEIR CORRECTNESS PROOFS
    NOURANI, CF
    JOURNAL OF THE ACM, 1983, 30 (02) : 343 - 359
  • [9] CORRECTNESS PROOFS FOR ABSTRACT IMPLEMENTATIONS
    BERNOT, G
    INFORMATION AND COMPUTATION, 1989, 80 (02) : 121 - 151
  • [10] AN ABSTRACT SETTING FOR HENKIN PROOFS
    GOLDBLATT, R
    TOPOI-AN INTERNATIONAL REVIEW OF PHILOSOPHY, 1984, 3 (01): : 37 - 41