Date & Time:
February 2, 2024 12:00 pm – 1:30 pm
02/02/2024 12:00 PM 02/02/2024 01:30 PM America/Chicago William Mansky (UIC)- Foundational C Verification with VST and Iris

Abstract: The strongest way to guarantee a program’s correctness is to verify it with a program logic implemented in an interactive theorem prover. Two systems for this kind of verification are the Verified Software Toolchain (VST), which connects to the CompCert verified C compiler to provide guarantees down to assembly, and Iris, a language-independent separation logic framework that has been the focus of a huge amount of recent research across many application domains and language features. In this talk, I aim to give a taste of the theory and practice of these foundational program verification tools. I will review the basic principles of separation logic, describe how Iris implements them via a flexible notion of “resource algebra” and an elegant proof mode, and walk through my recent work rebuilding VST on top of Iris, from the basic concept of memory ownership to the user-level tactics.


William Mansky

Assistant Professor of Computer Science, UIC

I’m interested in the semantics, analysis, and correctness of programs, especially concurrent programs. I’ve done work in compiler and program verification, programming language semantics for low-level languages, and formalizing memory models (both sequential and concurrent). My main tools are the interactive theorem provers Coq and Isabelle.

I am working on building tools and techniques for proving the correctness of concurrent C programs, using the Verified Software Toolchain(code here). I aim to prove correctness of realistic concurrent systems code, including web server and database implementations, and to develop simple approaches to reasoning about fine-grained concurrency. I’ve written an introduction to verifying concurrent programs in VST, available here.

More generally, I’m interested in bridging the gap between programming and program verification, providing better tools for programmers to understand the effects of code as they write it, and making it easier to verify code as it’s written. I’d like to make it possible for every C programmer to write proved-correct code.

Related News & Events

UChicago CS News

UChicago Partners With UMass On NSF Expedition To Elevate Computational Decarbonization As A New Field In Computing

May 23, 2024
UChicago CS News

Assistant Professor Raul Castro Fernandez Awarded NSF CAREER Grant to investigate Data-sharing Markets

May 21, 2024
UChicago CS News

Empowering Middle School Girls in Tech: compileHER’s <prompt/HER> Capstone Event

May 20, 2024
UChicago CS News

Haifeng Xu Wins Best Paper Award at Leading AI Conference for Pioneering Research on Mechanism Design for LLMs

May 17, 2024
UChicago CS News

Fred Chong Receives Quantrell Award for Excellence in Teaching

May 16, 2024
UChicago CS News

Unveiling Attention Receipts: Tangible Reflections on Digital Consumption

May 15, 2024
UChicago CS News

NASA to Launch UChicago Undergraduates’ Satellite

May 14, 2024
UChicago CS News

University of Chicago Computer Science Researchers To Present Ten Papers at CHI 2024

May 06, 2024
UChicago CS News

Two UChicago MPCS Students Win the Apple Swift Student Challenge

May 01, 2024
In the News

How Artificial Intelligence Can Transform U.S. Energy Infrastructure

Apr 29, 2024
In the News

Community Data Fellow Stephania Tello Zamudio helps broaden internet access for Illinois residents

Apr 29, 2024
UChicago CS News

Two UChicago CS Students Awarded NSF Graduate Research Fellowship

Apr 24, 2024
arrow-down-largearrow-left-largearrow-right-large-greyarrow-right-large-yellowarrow-right-largearrow-right-smallbutton-arrowclosedocumentfacebookfacet-arrow-down-whitefacet-arrow-downPage 1CheckedCheckedicon-apple-t5backgroundLayer 1icon-google-t5icon-office365-t5icon-outlook-t5backgroundLayer 1icon-outlookcom-t5backgroundLayer 1icon-yahoo-t5backgroundLayer 1internal-yellowinternalintranetlinkedinlinkoutpauseplaypresentationsearch-bluesearchshareslider-arrow-nextslider-arrow-prevtwittervideoyoutube