Connecting Higher-Order Separation Logic to a First-Order Outside World

被引:8
|
作者
Mansky, William [1 ]
Honore, Wolf [2 ]
Appel, Andrew W. [3 ]
机构
[1] Univ Illinois, Chicago, IL 60607 USA
[2] Yale Univ, New Haven, CT USA
[3] Princeton Univ, Princeton, NJ 08544 USA
来源
PROGRAMMING LANGUAGES AND SYSTEMS ( ESOP 2020): 29TH EUROPEAN SYMPOSIUM ON PROGRAMMING | 2020年 / 12075卷
关键词
formal verification; verifying communication; modular verification; interaction trees; VST; CertiKOS;
D O I
10.1007/978-3-030-44914-8_16
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Separation logic is a useful tool for proving the correctness of programs that manipulate memory, especially when the model of memory includes higher-order state: Step-indexing, predicates in the heap, and higher-order ghost state have been used to reason about function pointers, data structure invariants, and complex concurrency patterns. On the other hand, the behavior of system features (e.g., operating systems) and the external world (e.g., communication between components) is usually specified using first-order formalisms. In principle, the soundness theorem of a separation logic is its interface with first-order theorems, but the soundness theorem may implicitly make assumptions about how other components are specified, limiting its use. In this paper, we show how to extend the higher-order separation logic of the Verified Software Toolchain to interface with a first-order verified operating system, in this case CertiKOS, that mediates its interaction with the outside world. The resulting system allows us to prove the correctness of C programs in separation logic based on the semantics of system calls implemented in CertiKOS. It also demonstrates that the combination of interaction trees + CompCert memories serves well as a lingua franca to interface and compose two quite different styles of program verification.
引用
收藏
页码:428 / 455
页数:28
相关论文
共 50 条
  • [41] Asynchronous Probabilistic Couplings in Higher-Order Separation Logic
    Gregersen, Simon Oddershede
    Aguirre, Alejandro
    Haselwarter, Philipp G.
    Tassarotti, Joseph
    Birkedal, Lars
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2024, 8 (POPL):
  • [42] Interactive Proofs in Higher-Order Concurrent Separation Logic
    Krebbers, Robbert
    Timany, Amin
    Birkedal, Lars
    ACM SIGPLAN NOTICES, 2017, 52 (01) : 205 - 217
  • [43] A simple model of separation logic for higher-order store
    Birkedal, Lars
    Reus, Bernhard
    Schwinghammer, Jan
    Yang, Hongseok
    AUTOMATA, LANGUAGES AND PROGRAMMING, PT 2, PROCEEDINGS, 2008, 5126 : 348 - +
  • [44] Pure type systems in rewriting logic: Specifying typed higher-order languages in a first-order logical framework
    Stehr, MO
    Meseguer, J
    FROM OBJECT-ORIENTATION TO FORMAL METHODS: ESSAYS IN MEMORY OF OLE-JOHAN DAHL, 2004, 2635 : 334 - 375
  • [45] Higher-order thalamic relays burst more than first-order relays
    Ramcharan, EJ
    Gnadt, JW
    Sherman, SM
    PROCEEDINGS OF THE NATIONAL ACADEMY OF SCIENCES OF THE UNITED STATES OF AMERICA, 2005, 102 (34) : 12236 - 12241
  • [46] Research Progress of Topological Quantum Materials: From First-Order to Higher-Order
    Liu, Bing
    Zhang, Wenjun
    SYMMETRY-BASEL, 2023, 15 (09):
  • [47] First-order transition to oscillation death in coupled oscillators with higher-order interactions
    Ghosh, Richita
    Verma, Umesh Kumar
    Jalan, Sarika
    Shrimali, Manish Dev
    PHYSICAL REVIEW E, 2023, 108 (04)
  • [48] Sliding at First-Order: Higher-Order Momentum Distributions for Discontinuous Image Registration
    Bao, Lili
    Lu, Jiahao
    Ying, Shihui
    Sommer, Stefan
    SIAM JOURNAL ON IMAGING SCIENCES, 2024, 17 (02): : 861 - 887
  • [49] Approximating higher-order nonlinear QED processes with first-order building blocks
    Dinu, Victor
    Torgrimsson, Greger
    PHYSICAL REVIEW D, 2020, 102 (01)
  • [50] Higher-order approximations to the quantile of the distribution for a class of statistics in the first-order autoregression
    Jorge M. Arevalillo
    TEST, 2014, 23 : 291 - 310