Loading…
1 - 3 September | Vancouver, Canada BC
View More Details & Registration
The schedule is subject to change, so please check back before the event for the most up-to-date information.

Please note that all session times are listed below in Pacific Daylight Time (PDT), UTC-7.
Wednesday September 2, 2026 16:45 - 17:00 PDT
In prior work, we have verified the correctness of a C implementation of UDPv6 using AutoCorres2, a tool to facilitate the verification of C programs in Isabelle/HOL. To achieve high performance, it is common practice for implementations of such network layers to make repeated small mutations to heap state, using typed pointers with overlapping address ranges. This approach to network implementations presents additional challenges for the verification efforts.

In this talk, we describe some of these challenges and present our solutions. First, rather than showing direct refinement to a high-level specification, we prove important invariants at the level of the C specification—a monadic representation of the C code generated by AutoCorres2. Second, we analyze pointer aliasing manually. Third, we generalize some of our lemmas both to simplify proofs of the UDPv6 implementation but also to use them towards proving properties about other layer implementations. Fourth, we refactor code where appropriate, while preserving performance, to simplify our proofs. Finally, we describe how we use these invariants to show refinement.
Speakers
avatar for Alain Kägi

Alain Kägi

Assistant Professor, Lewis & Clark College
Wednesday September 2, 2026 16:45 - 17:00 PDT
Georgia Ballroom B

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

Share Modal

Share this link via

Or copy link