Linear capabilities for fully abstract compilation of separation-logic-verified code
- đ¤ Speaker: Thomas Van Strydonck, KU Leuven
- đ Date & Time: Monday 18 March 2019, 11:45 - 12:15
- đ Venue: FW26
Abstract
Separation logic is the basis for many tools that support sound, modular verification of programs, such as VeriFast. We are concerned with scenarios where separation-logic-verified code interacts with untrusted, non-verified code (for example, when installing plugins from the internet). Our goal is to compile the verified code in such a way that we can preserve the guarantees obtained from verification, even under this untrusted interaction. This preservation of guarantees can be expressed in terms of the notion of fully abstract compilation: a formal property that is sometimes used to define secure compilation. We contribute a new approach to secure compilation of verified to unverified C code that we conjecture to be fully abstract. The approach relies on target language support for capabilities: a well-studied form of unforgeable memory pointers that enables fine-grained, efficient privilege separation. We rely on a form of capabilities called linear capabilities. Linear capabilities are specially treated by the hardware to ensure that they can never be copied. Our compiler relies on information from both the source program and its verification proof, i.e. it will be formally defined as a separation-logic-proof-directed compiler.
Series This talk is part of the Logic and Semantics Seminar (Computer Laboratory) series.
Included in Lists
- All Talks (aka the CURE list)
- bld31
- Cambridge talks
- Computing and Mathematics
- Department of Computer Science and Technology talks and seminars
- FW26
- Interested Talks
- Logic and Semantics Seminar (Computer Laboratory)
- Martin's interesting talks
- School of Technology
- tcw57âs list
- Trust & Technology Initiative - interesting events
- yk373's list
- yk449
Note: Ex-directory lists are not shown.
![[Talks.cam]](/static/images/talkslogosmall.gif)

Thomas Van Strydonck, KU Leuven
Monday 18 March 2019, 11:45-12:15