Thursday, December 10, 2020 – 10:00am to 11:00am
Virtual Presentation Remote Access – Zoom
DEREK DREYER, Tenured Faculty https://www.mpi-sws.org/people/dreyer/
Turning Iris Up to Eleven: Next Steps in Higher-Order Separation Logic
Iris is a framework for higher-order concurrent separation logic, implemented in the Coq proof assistant, which we have been developing since 2014. Originally designed for pedagogical purposes, Iris has grown into a ongoing, multi-institution project, with active collaborators at Aarhus University, BedRock Systems, Boston College, CNRS/LRI, Groningen University, INRIA, ITU Copenhagen, KU Leuven, Microsoft Research, MIT, MPI-SWS, NYU, Radboud University Nijmegen, Saarland University, and Vrije Universiteit Brussel, and over 35 published papers studying or deploying Iris for verification of complex programs and programming language meta-theory in Rust, Go, OCaml, Scala, and more.
In this talk, we will present two brand new — and very different — developments that have the potential to extend the reach of Iris even further. The first is a new ownership-based refinement type system for C, which supports automated verification of C programs while at the same time being foundational (producing Iris proofs in Coq). The second is a complete “remodeling” of Iris, replacing its original step-indexed model with a transfinite step-indexed model in order to make Iris suitable for verification of liveness properties.
For this talk, we will not assume any prior knowledge of Iris. Rather, we will briefly review the distinguishing features of Iris, and then explain the key insights behind the aforementioned new developments — and the problems they are solving — at a high level of abstraction.
The first new development is joint work with Michael Sammler, Rodolphe Lepigre, Robbert Krebbers, Kayvan Memarian, and Deepak Garg. The second is joint work with Simon Spies, Lennard Gäher, Daniel Gratzer, Joseph Tassarotti, Robbert Krebbers, and Lars Birkedal.
Faculty Host: Jan Hoffmann
Zoom Participation. See announcement.