Trillium: Higher-Order Concurrent and Distributed Separation Logic for Intensional Refinement

被引:2
|
作者
Timany, Amin [1 ]
Gregersen, Simon Oddershede [1 ]
Stefanesco, Leo [2 ]
Hinrichsen, Jonas Kastberg [1 ]
Gondelman, Leon [1 ]
Nieto, Abel [1 ]
Birkedal, Lars [1 ]
机构
[1] Aarhus Univ, Aarhus, Denmark
[2] MPI SWS, Saarbrucken, Germany
基金
欧洲研究理事会;
关键词
Distributed systems; separation logic; refinement; higher-order logic; concurrency; formal verification;
D O I
10.1145/3632851
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Expressive state-of-the-art separation logics rely on step-indexing to model semantically complex features and to support modular reasoning about imperative higher-order concurrent and distributed programs. Step-indexing comes, however, with an inherent cost: it restricts the adequacy theorem of program logics to a fairly simple class of safety properties. In this paper, we explore if and how intensional refinement is a viable methodology for strengthening higher-order concurrent (and distributed) separation logic to prove non-trivial safety and liveness properties. Specifically, we introduce Trillium, a language-agnostic separation logic framework for showing intensional refinement relations between traces of a program and a model. We instantiate Trillium with a concurrent language and develop Fairis, a concurrent separation logic, that we use to show liveness properties of concurrent programs under fair scheduling assumptions through a fair liveness-preserving refinement of a model. We also instantiate Trillium with a distributed language and obtain an extension of Aneris, a distributed separation logic, which we use to show refinement relations between distributed systems and TLA(+) models.
引用
收藏
页数:32
相关论文
共 50 条
  • [1] The Essence of Higher-Order Concurrent Separation Logic
    Krebbers, Robbert
    Jung, Ralf
    Bizjak, Ales
    Jourdan, Jacques-Henri
    Dreyer, Derek
    Birkedal, Lars
    PROGRAMMING LANGUAGES AND SYSTEMS (ESOP 2017): 26TH EUROPEAN SYMPOSIUM ON PROGRAMMING, 2017, 10201 : 696 - 723
  • [2] A Higher-Order Logic for Concurrent Termination-Preserving Refinement
    Tassarotti, Joseph
    Jung, Ralf
    Harper, Robert
    PROGRAMMING LANGUAGES AND SYSTEMS (ESOP 2017): 26TH EUROPEAN SYMPOSIUM ON PROGRAMMING, 2017, 10201 : 909 - 936
  • [3] Interactive Proofs in Higher-Order Concurrent Separation Logic
    Krebbers, Robbert
    Timany, Amin
    Birkedal, Lars
    ACM SIGPLAN NOTICES, 2017, 52 (01) : 205 - 217
  • [4] Iron: Managing Obligations in Higher-Order Concurrent Separation Logic
    Bizjak, Ales
    Gratzer, Daniel
    Krebbers, Robbert
    Birkedal, Lars
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2019, 3 (POPL):
  • [5] INTENSIONAL AND HIGHER-ORDER MODAL LOGIC - GALLIN,D
    REIX, A
    REVUE PHILOSOPHIQUE DE LOUVAIN, 1980, 78 (37) : 148 - 149
  • [6] Refinement of higher-order logic programs
    Colvin, R
    Hayes, I
    Hemer, D
    Strooper, P
    LOGIC BASED PROGRAM SYNTHESIS AND TRANSFORMATION, 2003, 2664 : 126 - 143
  • [7] On Models of Higher-Order Separation Logic
    Bizjak, Ales
    Birkedal, Lars
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2018, 336 : 57 - 78
  • [8] Separation logic for higher-order store
    Reus, Bernhard
    Schwinghammer, Jan
    COMPUTER SCIENCE LOGIC, PROCEEDINGS, 2006, 4207 : 575 - 590
  • [9] A Relational Model of Types-and-Effects in Higher-Order Concurrent Separation Logic
    Krogh-Jespersen, Morten
    Svendsen, Kasper
    Birkedal, Lars
    ACM SIGPLAN NOTICES, 2017, 52 (01) : 218 - 231
  • [10] Distributed causal memory: Modular specification and verification in higher-order distributed separation logic
    Gondelman, Léon
    Gregersen, Simon Oddershede
    Nieto, Abel
    Timany, Amin
    Birkedal, Lars
    Proceedings of the ACM on Programming Languages, 2021, 5 (POPL)