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 条
  • [21] THE FIRST-ORDER LOGIC OF CZF IS INTUITIONISTIC FIRST-ORDER LOGIC
    Passmann, Robert
    JOURNAL OF SYMBOLIC LOGIC, 2024, 89 (01) : 308 - 330
  • [22] First-order transition in XY model with higher-order interactions
    Zukovic, Milan
    6TH INTERNATIONAL CONFERENCE ON MATHEMATICAL MODELLING IN PHYSICAL SCIENCES (IC-MSQUARE 2017), 2017, 936
  • [23] Distinguishing and relating higher-order and first-order processes by expressiveness
    Xian Xu
    Acta Informatica, 2012, 49 : 445 - 484
  • [24] Can a higher-order and a first-order theorem prover cooperate?
    Benzmüller, C
    Sorge, V
    Jamnik, M
    Kerber, M
    LOGIC FOR PROGRAMMING, ARTIFICIAL INTELLIGENCE, AND REASONING, PROCEEDINGS, 2005, 3452 : 415 - 431
  • [25] Completeness for a First-Order Abstract Separation Logic
    Hou, Zhe
    Tiu, Alwen
    PROGRAMMING LANGUAGES AND SYSTEMS, APLAS 2016, 2016, 10017 : 444 - 463
  • [26] ON HIGHER-ORDER LOGIC
    KOGALOVS.SR
    DOKLADY AKADEMII NAUK SSSR, 1966, 171 (06): : 1272 - &
  • [27] The recursive path and polynomial ordering for first-order and higher-order terms
    Bofill, Miquel
    Borralleras, Cristina
    Rodriguez-Carbonell, Enric
    Rubio, Albert
    JOURNAL OF LOGIC AND COMPUTATION, 2013, 23 (01) : 263 - 305
  • [28] Analysing the Complexity of Functional Programs: Higher-Order Meets First-Order
    Avanzini, Martin
    Dal Lago, Ugo
    Moser, Georg
    PROCEEDINGS OF THE 20TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON FUNCTIONAL PROGRAMMING (ICFP'15), 2015, : 152 - 164
  • [29] FIRST-ORDER TREATMENT OF HIGHER-ORDER BOUNDARY-LAYER EFFECTS
    LEWIS, CH
    PHYSICS OF FLUIDS, 1970, 13 (12) : 2939 - &
  • [30] Some first-order and higher-order statistical properties of polarization speckle
    Xiao, Shengzhu
    Nie, Jianlin
    Hanson, Steen G.
    Takeda, Mitsuo
    Wang, Wei
    COMPUTATIONAL OPTICS 2021, 2021, 11875