POPL 2019 (series) / CPP 2019 (series) / CPP 2019 - The 8th ACM SIGPLAN International Conference on Certified Programs and Proofs, January 14-15 2019 /
From C to Interaction Trees: Specifying, Verifying, and Testing a Networked Server
Mon 14 Jan 2019 15:00 - 15:30 at Sala XII - Research Papers: Program Verification Chair(s): Chris Hawblitzel
We present the first formal verification of a networked server implemented in C. Interaction trees, a general structure for representing reactive computations, are used to tie together disparate verification and testing tools (Coq, VST, and QuickChick) and to axiomatize the behavior of the operating-system on which the server runs (CertiKOS). The main theorem connects a specification of acceptable server behaviors, written in a straightforward “one client at a time” style, with the CompCert semantics of the C program. The variability introduced by low-level buffering of messages and interleaving of multiple TCP connections is captured using network refinement, a variant of observational refinement.
Mon 14 JanDisplayed time zone: Belfast change
Mon 14 Jan
Displayed time zone: Belfast change
14:00 - 15:30 | |||
14:00 30mResearch paper | Formally Verified Big Step Semantics out of x86-64 Binaries CPP Ian Roessle Virginia Tech, USA, Freek Verbeek Open University of the Netherlands, The Netherlands, Binoy Ravindran Virginia Tech DOI | ||
14:30 30mResearch paper | Formal Verification of a Program Obfuscation Based on Mixed Boolean-Arithmetic Expressions CPP DOI | ||
15:00 30mResearch paper | From C to Interaction Trees: Specifying, Verifying, and Testing a Networked Server CPP Nicolas Koh , Yao Li University of Pennsylvania, Yishuai Li University of Pennsylvania, Li-yao Xia University of Pennsylvania, Lennart Beringer Princeton University, Wolf Honore , William Mansky University of Illinois at Chicago, Benjamin C. Pierce University of Pennsylvania, Steve Zdancewic University of Pennsylvania DOI |