ICFP 2022 (series) / HOPE 2022 (series) / HOPE 2022 /
Verifying non-terminating programs with IO in F*
Sun 11 Sep 2022 17:00 - 17:30 at M1 - HOPE Session 4
We present a work-in-progress definition of an F* effect for writing, specifying, and verifying functional correctness for higher-order programs with input-output. We then extend this effect to support potentially non-terminating programs. Crucially we do not stop at partial correctness where the specification only concludes about terminating runs, but instead rely on infinite traces to also reason about infinite runs. We aim to use this to verify meaningful properties of infinite loops, such as the main loop of a web server. As F* does not natively support coinduction, we encode specifications about infinite traces using an impredicative encoding of an infinite loop at the level of specifications.
Slides (HOPE22_Andrici_Slides.pdf) | 679KiB |
Sun 11 SepDisplayed time zone: Belgrade, Bratislava, Budapest, Ljubljana, Prague change
Sun 11 Sep
Displayed time zone: Belgrade, Bratislava, Budapest, Ljubljana, Prague change
16:00 - 17:30 | |||
16:00 30mTalk | Dependent Temporal Type-and-Effect System with Delimited Continuations HOPE | ||
16:30 30mTalk | Enabling Safe Shared-Memory Interoperability in WebAssemblyVirtual HOPE Michael Fitzgibbons Northeastern University (USA), Zoe Paraskevopoulou Northeastern University, Noble Mushtak Northeastern University, Amal Ahmed Northeastern University, USA | ||
17:00 30mTalk | Verifying non-terminating programs with IO in F* HOPE Cezar-Constantin Andrici MPI-SP, Théo Winterhalter MPI-SP, Cătălin Hriţcu MPI-SP, Exequiel Rivas Tallinn University of Technology Pre-print File Attached |