POPL 2024
Sun 14 - Sat 20 January 2024 London, United Kingdom
Sat 20 Jan 2024 17:00 - 17:30 at Haslett Room - Session 4 Chair(s): Edwin Brady

Symbolic execution is a technique frequently used to reason about code. In symbolic execution, an analyzer keeps track of the program state’s logic representation and validates the correctness of state transitions. This verification is usually discharged to SMT solvers as queries to the logical state.

Separation logic is frequently used to express and verify properties of programs with pointers or references. However, most SMT solvers (like Z3) do not support separation logic natively. Recently, the CVC5 SMT solver has introduced support for a decidable fragment of separation logic, which has not yet been integrated into more high-level tools.

This work aims to address this gap, by providing a proof of concept for implementing the Frame Rule using SMT queries to mentioned solver. We conclude that this encoding can simplify the machinery dealing with separation logic, such as that present in tools verifying separation logic with symbolic execution like Smallfoot or GRASShopper.

Sat 20 Jan

Displayed time zone: London change

16:00 - 17:30
Session 4WITS at Haslett Room
Chair(s): Edwin Brady University of St Andrews, UK
16:00
30m
Talk
asai: a Library for Compiler Diagnostics
WITS
Kuen-Bang Hou (Favonia) University of Minnesota, Reed Mullanix McMaster University
16:30
30m
Talk
Efficient Evaluation with Controlled Definition Unfolding
WITS
András Kovács University of Gothenburg
17:00
30m
Talk
Implementing separation logic using an SMT-backed Frame RuleRemote
WITS
Kirill Golubev University of Lisbon, Alcides Fonseca University of Lisbon