Machine-Checked Semantic Session Typing

被引:10
作者
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
来源
CPP '21: PROCEEDINGS OF THE 10TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON CERTIFIED PROGRAMS AND PROOFS | 2021年
基金
美国国家卫生研究院; 荷兰研究理事会;
关键词
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] Semantic Foundations for Typed Assembly Languages
    Ahmed, Amal
    Appel, Andrew W.
    Richards, Christopher D.
    Swadi, Kedar N.
    Tan, Gang
    Wang, Daniel C.
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2010, 32 (03):
  • [2] Ahmed Amal., 2004, Ph. D. Dissertation
  • [3] Appel AW, 2007, CONFERENCE RECORD OF POPL 2007: THE 34TH ACM SIGPLAN SIGACT SYMPOSIUM ON PRINCIPLES OF PROGAMMING LANGUAGES, P109
  • [4] An indexed model of recursive types for foundational proof-carrying code
    Appel, AW
    McAllester, D
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2001, 23 (05): : 657 - 683
  • [5] Manifest Deadlock-Freedom for Shared Session Types
    Balzer, Stephanie
    Toninho, Bernardo
    Pfenning, Frank
    [J]. PROGRAMMING LANGUAGES AND SYSTEMS, ESOP 2019: 28TH EUROPEAN SYMPOSIUM ON PROGRAMMING, 2019, 11423 : 611 - 639
  • [6] Balzer S, 2017, P ACM PROGRAM LANG, V1, DOI 10.1145/3110281
  • [7] Undecidability of asynchronous session subtyping
    Bravetti, Mario
    Carbone, Marco
    Zavattaro, Gianluigi
    [J]. INFORMATION AND COMPUTATION, 2017, 256 : 300 - 320
  • [8] Caires L, 2013, LECT NOTES COMPUT SC, V7792, P330, DOI 10.1007/978-3-642-37036-6_19
  • [9] Caires L, 2010, LECT NOTES COMPUT SC, V6269, P222, DOI 10.1007/978-3-642-15375-4_16
  • [10] Multiparty session types as coherence proofs
    Carbone, Marco
    Montesi, Fabrizio
    Schurmann, Carsten
    Yoshida, Nobuko
    [J]. ACTA INFORMATICA, 2017, 54 (03) : 243 - 269