Verifying Reliable Network Components in a Distributed Separation Logic with Dependent Separation ProtocolsRemote
We present a foundationally verified implementation of a reliable communication library for asynchronous client-server communication, and a stack of formally verified components on top thereof. Our library is implemented in an OCaml-like language on top of UDP and features characteristic traits of existing protocols, such as a simple handshaking protocol, bidirectional channels, and retransmission/acknowledgement mechanisms. We verify the library in the Aneris distributed separation logic using a novel proof pattern—dubbed the session escrow pattern—based on the existing escrow proof pattern and the so-called dependent separation protocols, which hitherto have only been used in a non-distributed concurrent setting. We demonstrate how our specification of the reliable communication library simplifies formal reasoning about applications, such as a remote procedure call library, which we in turn use to verify a lazily replicated key-value store with leader-followers and clients thereof. Our development is highly modular—each component is verified relative to specifications of the components it uses (not the implementation). All our results are formalized in the Coq proof assistant.
Wed 6 SepDisplayed time zone: Pacific Time (US & Canada) change
10:30 - 12:00 | Verification 1ICFP Papers and Events at A - Grand Ballroom 2 Chair(s): Tahina Ramananandro Microsoft Research | ||
10:30 30mTalk | Modularity, Code Specialization, and Zero-Cost Abstractions for Program Verification ICFP Papers and Events DOI | ||
11:00 30mTalk | Higher-Order Property-Directed Reachability ICFP Papers and Events Hiroyuki Katsura University of Tokyo, Naoki Kobayashi University of Tokyo, Ryosuke Sato University of Tokyo DOI | ||
11:30 30mTalk | Verifying Reliable Network Components in a Distributed Separation Logic with Dependent Separation ProtocolsRemote ICFP Papers and Events Léon Gondelman Aarhus University, Jonas Kastberg Hinrichsen Aarhus University, Denmark, Mário Pereira NOVA LINCS & DI -- Nova School of Science and Technology, Amin Timany Aarhus University, Lars Birkedal Aarhus University DOI |