10
IRUS TotalDownloads
Altmetric
Hybrid session veri cation through endpoint API generation
File | Description | Size | Format | |
---|---|---|---|---|
DTR15-6.pdf | Published version | 660.11 kB | Adobe PDF | View/Open |
Title: | Hybrid session veri cation through endpoint API generation |
Authors: | Hu, R Yoshida, N |
Item Type: | Report |
Abstract: | This paper proposes a new hybrid session veri cation method- ology for applying session types directly to mainstream languages, based on generating protocol-speci c endpoint APIs from multiparty session types. The API generation promotes static type checking of the be- havioural aspect of the source protocol by mapping the state space of an endpoint in the protocol to a family of channel types in the tar- get language. This is supplemented by very light run-time checks in the generated API that enforce a linear usage discipline on instances of the channel types. The resulting hybrid veri cation guarantees the absence of protocol violation errors during the execution of the session. We have implemented our methodology for Java as an extension to the Scrib- ble framework, and used it to implement compliant clients and servers for real-world protocols such as HTTP and SMTP. The API genera- tion methodology additionally provides a platform for applying further features from session type theory: our implementation supports choice subtyping through branch interface generation, and safe permutation of I/O actions and a ne inputs through input future generation. |
Issue Date: | 1-Jan-2015 |
URI: | http://hdl.handle.net/10044/1/94991 |
DOI: | 10.25561/94991 |
Publisher: | Department of Computing, Imperial College London |
Start Page: | 1 |
End Page: | 24 |
Journal / Book Title: | Departmental Technical Report: 15/6 |
Copyright Statement: | © 2015 The Author(s). This report is available open access under a CC-BY-NC-ND (https://creativecommons.org/licenses/by-nc-nd/4.0/) |
Publication Status: | Published |
Article Number: | 15/6 |
Appears in Collections: | Computing Computing Technical Reports Faculty of Engineering |
This item is licensed under a Creative Commons License