Machine-Checked Semantic Session Typing

被引:8
|
作者
Hinrichsen, Jonas Kastberg [1 ]
Louwrink, Daniel [2 ]
Krebbers, Robbert [3 ,4 ]
Bengtson, Jesper [1 ]
机构
[1] IT Univ Copenhagen, Copenhagen, Denmark
[2] Univ Amsterdam, Amsterdam, Netherlands
[3] Radboud Univ Nijmegen, Nijmegen, Netherlands
[4] Delft Univ Technol, Delft, Netherlands
基金
荷兰研究理事会; 美国国家卫生研究院;
关键词
Message passing; concurrency; session types; separation logic; semantic typing; Iris; Coq;
D O I
10.1145/3437992.3439914
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Session types-a family of type systems for message-passing concurrency-have been subject to many extensions, where each extension comes with a separate proof of type safety. These extensions cannot be readily combined, and their proofs of type safety are generally not machine checked, making their correctness less trustworthy. We overcome these shortcomings with a semantic approach to binary asynchronous affine session types, by developing a logical relations model in Coq using the Iris program logic. We demonstrate the power of our approach by combining various forms of polymorphism and recursion, asynchronous subtyping, references, and locks/mutexes. As an additional benefit of the semantic approach, we demonstrate how to manually prove typing judgements of racy, but safe, programs that cannot be type checked using only the rules of the type system.
引用
收藏
页码:178 / 198
页数:21
相关论文
共 50 条
  • [1] Machine-checked Verification of Cognitive Agents
    Jensen, Alexander Birch
    [J]. ICAART: PROCEEDINGS OF THE 14TH INTERNATIONAL CONFERENCE ON AGENTS AND ARTIFICIAL INTELLIGENCE - VOL 1, 2022, : 245 - 256
  • [2] A machine-checked correctness proof for Pastry
    Azmy, Noran
    Merz, Stephan
    Weidenbach, Christoph
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 2018, 158 : 64 - 80
  • [3] A Machine-Checked Model of Safe Composition
    Delaware, Benjamin
    Cook, William
    Batory, Don
    [J]. FOAL09: FOUNDATIONS OF ASPECT-ORIENTED LANGUAGES, 2009, : 31 - 35
  • [4] A Machine-Checked Framework for Relational Separation Logic
    Manuel Crespo, Juan
    Kunz, Cesar
    [J]. SOFTWARE ENGINEERING AND FORMAL METHODS, 2011, 7041 : 122 - 137
  • [5] A Machine-Checked Proof of the Odd Order Theorem
    Gonthier, Georges
    Asperti, Andrea
    Avigad, Jeremy
    Bertot, Yves
    Cohen, Cyril
    Garillot, Francois
    Le Roux, Stephane
    Mahboubi, Assia
    O'Connor, Russell
    Biha, Sidi Ould
    Pasca, Ioana
    Rideau, Laurence
    Solovyev, Alexey
    Tassi, Enrico
    Thery, Laurent
    [J]. INTERACTIVE THEOREM PROVING, ITP 2013, 2013, 7998 : 163 - 179
  • [6] Machine-Checked Proofs for Realizability Checking Algorithms
    Katis, Andreas
    Gacek, Andrew
    Whalen, Michael W.
    [J]. VERIFIED SOFTWARE: THEORIES, TOOLS, AND EXPERIMENTS, 2016, 9593 : 110 - 123
  • [7] A Machine-Checked Implementation of Buchberger's Algorithm
    Laurent Théry
    [J]. Journal of Automated Reasoning, 2001, 26 : 107 - 137
  • [8] A machine-checked implementation of Buchberger's algorithm
    Théry, L
    [J]. JOURNAL OF AUTOMATED REASONING, 2001, 26 (02) : 107 - 137
  • [9] Machine-checked model for Micro-Dalvik virtual machine
    He, Yan-Xiang
    Jiang, Nan
    Li, Qing-An
    Zhang, Jun
    Shen, Fan-Fan
    [J]. Ruan Jian Xue Bao/Journal of Software, 2015, 26 (02): : 364 - 379
  • [10] A machine-checked formalization of the random oracle model
    Barthe, G
    Tarento, S
    [J]. TYPES FOR PROOFS AND PROGRAMS, 2006, 3839 : 33 - 49