Compositional Soundness Proofs of Abstract Interpreters

被引:8
|
作者
Keidel, Sven [1 ]
Poulsen, Casper Bach [1 ]
Erdweg, Sebastian [1 ]
机构
[1] Delft Univ Technol, Delft, Netherlands
来源
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES | 2018年
关键词
Abstract Interpretation; Soundness;
D O I
10.1145/3236767
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The Abstract interpretation is a technique for developing static analyses. Yet, proving abstract interpreters sound is challenging for interesting analyses, because of the high proof complexity and proof effort. To reduce complexity and effort, we propose a framework for abstract interpreters that makes their soundness proof compositional. Key to our approach is to capture the similarities between concrete and abstract interpreters in a single shared interpreter, parameterized over an arrow-based interface. In our framework, a soundness proof is reduced to proving reusable soundness lemmas over the concrete and abstract instances of this interface; the soundness of the overall interpreters follows from a generic theorem. To further reduce proof effort, we explore the relationship between soundness and parametricity. Parametricity not only provides us with useful guidelines for how to design non-leaky interfaces for shared interpreters, but also provides us soundness of shared pure functions as free theorems. We implemented our framework in Haskell and developed a k-CFA analysis for PCF and a tree-shape analysis for Stratego. We were able to prove both analyses sound compositionally with manageable complexity and effort, compared to a conventional soundness proof.
引用
收藏
页数:26
相关论文
共 50 条
  • [1] Compositional Soundness Proofs of Abstract Interpreters
    Keidel, Sven
    Poulsen, Casper Bach
    Erdweg, Sebastian
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2018, 2
  • [2] Type Soundness Proofs with Definitional Interpreters
    Amin, Nada
    Rompf, Tiark
    ACM SIGPLAN NOTICES, 2017, 52 (01) : 666 - 679
  • [3] Type soundness proofs with definitional interpreters
    Amin N.
    Rompf T.
    2017, Association for Computing Machinery (52): : 666 - 679
  • [4] REMARKS ON SOUNDNESS OF PROOFS
    BURMESTER, MVD
    DESMEDT, YG
    ELECTRONICS LETTERS, 1989, 25 (22) : 1509 - 1511
  • [5] Automating Soundness Proofs
    van Weerdenburg, Muck
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2009, 229 (04) : 107 - 118
  • [6] On Soundness Notions for Interactive Oracle Proofs
    Block, Alexander R.
    Garreta, Albert
    Tiwari, Pratyush Ranjan
    Zajac, Michal
    JOURNAL OF CRYPTOLOGY, 2025, 38 (01)
  • [7] Soundness and Completeness Proofs by Coinductive Methods
    Blanchette, Jasmin Christian
    Popescu, Andrei
    Traytel, Dmitriy
    JOURNAL OF AUTOMATED REASONING, 2017, 58 (01) : 149 - 179
  • [8] Soundness and Completeness Proofs by Coinductive Methods
    Jasmin Christian Blanchette
    Andrei Popescu
    Dmitriy Traytel
    Journal of Automated Reasoning, 2017, 58 : 149 - 179
  • [9] Soundness and Completeness Proofs by Coinductive Methods
    Traytel, Dmitriy (traytel@inf.ethz.ch), 1600, Springer Science and Business Media B.V. (58):
  • [10] Verification by Abstract Interpretation, Soundness and Abstract Induction
    Cousot, Patrick
    PROCEEDINGS OF THE 17TH INTERNATIONAL SYMPOSIUM ON PRINCIPLES AND PRACTICE OF DECLARATIVE PROGRAMMING (PPDP 2015), 2015, : 1 - 4