Building a Verified Software Toolchain in Iris
Speaker: William Mansky
Mansky has been an assistant professor of computer science at the University of Illinois Chicago since 2018. His areas of expertise are interactive theorem proving, program verification, and concurrency, and he is one of the maintainers of the Verified Software Toolchain (VST) for formally proving correctness of C programs. As a participant in NSF Expedition “The Science of Deep Specification”, he helped verify an HTTP web server and developed theory for connecting program verification systems to verified operating systems. His recent work also includes a verified messaging system for interprocess shared-memory communication, a framework for specifying the correctness of non-linearizable concurrent data structures, and the integration of concurrency verification features from the Iris framework into VST.
Abstract
The Verified Software Toolchain (VST) is a separation-logic-based system for verifying C programs according to the semantics of CompCert, with a guarantee that properties proved will hold on the compiled code. Iris is a more modern, generic Coq-based verification system, with many points of overlap but dramatically different foundations, based on a generic notion of higher-order step-indexed resource algebras. In this talk, I will give a brief overview of both VST and Iris, and present work in progress on re-engineering VST to build on the foundations of Iris, allowing us to prove correctness of real-world C programs using Iris’s powerful tactics and concurrency support.