POPL 2026
Sun 11 - Sat 17 January 2026 Rennes, France

10th Workshop on Principles of Secure Compilation

Today’s computer systems are insecure. The semantics of mainstream low-level languages like C provide no security against devastating vulnerabilities like buffer overflows and control-flow hijacking. Even for safer languages, establishing security with respect to the language’s semantics does not prevent low-level attacks. All the abstraction and security guarantees of the source language may be lost when interacting with low-level code, e.g., when using libraries.

Secure compilation is an emerging field that puts together advances in programming languages, security, verification, systems, compilers, and hardware architectures in order to devise secure compiler chains that eliminate many of today’s low-level vulnerabilities. Secure compilation aims to protect high-level language abstractions in compiled code, even against adversarial low-level contexts, and to allow sound reasoning about security in the source language. The emerging secure compilation community aims to achieve this by:

  1. identifying and formalizing properties that secure compilers must possess,
  2. devising efficient enforcement mechanisms, and
  3. developing effective formal verification techniques.

The goal of this workshop is to identify interesting research directions and open challenges and to bring together researchers interested in working on building secure compilation chains, on developing proof techniques and verification tools, and on designing software or hardware enforcement mechanisms for secure compilation.

Format

The Workshop on Principles of Secure Compilation (PriSC) is an informal 1-day workshop without proceedings. Anyone interested in presenting at the workshop will submit an extended abstract (up to 2 pages), and the PC will decide which talks to accept based on a lightweight review process.

The 10th edition of PriSC will be held on January 11, 2025 in Rennes (France) together with the ACM SIGPLAN Symposium on Principles of Programming Languages (POPL).

Past editions (all collocated with POPL)

Plenary

This program is tentative and subject to change.

You're viewing the program in a time zone which is different from your device's time zone change time zone

Sun 11 Jan

Displayed time zone: Brussels, Copenhagen, Madrid, Paris change

09:00 - 10:00
KeynotePriSC at Salle 19
09:00
5m
Day opening
Day opening
PriSC

09:05
67m
Keynote
The V8 Sandbox: From Compiler Correctness to Runtime Containment
PriSC
10:00 - 10:30
Information Flow ControlPriSC at Salle 19
10:12
18m
Talk
Efficient Dependency Resolution in IFC-aware Decentralized Programming
PriSC
Steffan Sølvsten Aarhus University, Aslan Askarov Aarhus University
10:30 - 11:00
10:30
30m
Coffee break
Break
POPL Catering

11:00 - 12:30
Secure Compilation & VerificationPriSC at Salle 19
11:00
18m
Talk
Mind the Boundary: Detecting Undefined Behavior Across Rust’s FFI
PriSC
11:18
18m
Talk
Specifying ABIs with Realizability and Type-Preserving Compilation
PriSC
Brianna Marshall Northeastern University, Ryan Doenges Boston College, Owen Duckham Northeastern University, Ari Prakash Northeastern University, Maxime Legoupil Aarhus University, Elan Semenova Northeastern University, Lars Birkedal Aarhus University, Amal Ahmed Northeastern University, USA
11:36
18m
Talk
Towards formally secure compilation of verified F* programs against unverified ML contexts
PriSC
Cezar-Constantin Andrici MPI-SP, Danel Ahman University of Ljubljana, Cătălin Hriţcu MPI-SP, Guido Martínez Microsoft Research, Abigail Pribisova MPI-SP and MPI-SWS, Exequiel Rivas Tallinn University of Technology; Ahrefs, Théo Winterhalter INRIA
11:54
18m
Talk
Blame-aware Recomposition for Formally Secure Low-level Compiler Backends
PriSC
12:12
18m
Talk
WP-Preserving Compilation -- Preserving Weakest Preconditions For End-to-End Verification
PriSC
Carmine Abate Barkhausen Institute, Dresden, Mohamed Elsheikh Barkhausen Institute, Dresden, Kleio Liotati Barkhausen Institute, Dresden, Frantisek Farka Barkhausen Institute, Dresden, Sebastian Ertel Barkhausen Institute, Dresden
12:30 - 14:00
12:30
90m
Lunch
Lunch
POPL Catering

14:00 - 15:30
Timing Side ChannelsPriSC at Salle 19
14:00
18m
Talk
Fun with flags: How Compilers Break and Fix Constant-Time Code
PriSC
Antoine Geimer Univ. Lille, CNRS, Inria, Clémentine Maurice Univ. Lille, Inria, CNRS
14:18
18m
Talk
GnuZero: A Compiler-Based Zeroization Static Detection Tool for the Masses
PriSC
Pierrick Philippe Univ Rennes, CNRS, IRISA, Mohamed Sabt Univ Rennes, CNRS, IRISA, Pierre-Alain Fouque Univ Rennes, CNRS, IRISA
14:36
18m
Talk
Tooling Design and Lessons Learned from Systematic Evaluations of the Preservation of Low-level Security Properties by Compilers with BinSec
PriSC
Yanis Sellami CEA, List, Univ. Grenoble Alpes, Frédéric Recoules CEA, List, Sébastien Bardin CEA LIST, University Paris-Saclay
14:54
18m
Talk
Decompiling for Constant-Time Analysis
PriSC
Sören van der Wall TU Braunschweig, Santiago Arranz Olmos Max Planck Institute for Security and Privacy, Gilles Barthe MPI-SP; IMDEA Software Institute, Lionel Blatter Max Planck Institute for Security and Privacy, Youcef Bouzid , Zhiyuan Zhang
15:12
18m
Talk
Modular Verification of Probabilistic Constant-Time
PriSC
Xingyu Xie MPI-SP
15:30 - 16:00
15:30
30m
Coffee break
Break
POPL Catering

16:00 - 17:30
Hardware SecurityPriSC at Salle 19
16:00
18m
Talk
FSLH: Flexible Mechanized Speculative Load Hardening
PriSC
Jonathan Baumann MPI-SP, Roberto Blanco Max Planck Institute for Security and Privacy (MPI-SP), Léon Ducruet Aarhus University, Sebastian Harwig MPI-SP and Ruhr University Bochum, Cătălin Hriţcu MPI-SP
16:18
18m
Talk
Towards Robust Secure Compilation in Presence of Speculative Execution
PriSC
Léopold Clément Télécom Paris, Ulrich Kühne Télécom Paris, Florian Brandner Télécom Paris, Renaud Pacalet Télécom Paris
16:36
18m
Talk
Compiling countermeasures against fault attacks with “Tracing LLVM”
PriSC
Sébastien Michelland Université Grenoble-Alpes - Grenoble INP - LCIS, Christophe Deleuze Université Grenoble-Alpes - Grenoble INP - LCIS, Laure Gonnord Université Grenoble-Alpes - Grenoble INP - LCIS
16:54
18m
Talk
Calling Conventions for Secure Stack Sharing on CHERI Capability Machines in Practice
PriSC
Elias Storme KU Leuven, Sander Huyghebaert Vrije Universiteit Brussel, Steven Keuchel KU Leuven, Thomas Van Strydonck KULeuven, Dominique Devriese KU Leuven
17:12
18m
Talk
Modular and automatic formal verification of a RISC-V processor with security mechanisms
PriSC
Pierre Wilke CentraleSupélec, Cyprien Jules CentraleSupélec, Inria, CNRS, Univ. Rennes, Guillaume Hiet CentraleSupélec, Inria, CNRS, Univ. Rennes
17:30 - 18:00
Lightning TalksPriSC at Salle 19
17:30
25m
Talk
Lightning Talks
PriSC

17:55
5m
Day closing
Day closing
PriSC

Accepted Papers

Title
Blame-aware Recomposition for Formally Secure Low-level Compiler Backends
PriSC
Calling Conventions for Secure Stack Sharing on CHERI Capability Machines in Practice
PriSC
Compiling countermeasures against fault attacks with “Tracing LLVM”
PriSC
Decompiling for Constant-Time Analysis
PriSC
Efficient Dependency Resolution in IFC-aware Decentralized Programming
PriSC
FSLH: Flexible Mechanized Speculative Load Hardening
PriSC
Fun with flags: How Compilers Break and Fix Constant-Time Code
PriSC
GnuZero: A Compiler-Based Zeroization Static Detection Tool for the Masses
PriSC
Mind the Boundary: Detecting Undefined Behavior Across Rust’s FFI
PriSC
Modular and automatic formal verification of a RISC-V processor with security mechanisms
PriSC
Modular Verification of Probabilistic Constant-Time
PriSC
Specifying ABIs with Realizability and Type-Preserving Compilation
PriSC
Tooling Design and Lessons Learned from Systematic Evaluations of the Preservation of Low-level Security Properties by Compilers with BinSec
PriSC
Towards formally secure compilation of verified F* programs against unverified ML contexts
PriSC
Towards Robust Secure Compilation in Presence of Speculative Execution
PriSC
WP-Preserving Compilation -- Preserving Weakest Preconditions For End-to-End Verification
PriSC

Call for Short Talks

PriSC will feature a short-talk session, where participants can pitch intriguing ideas, advertise ongoing work, open positions, etc.

Anyone interested in giving a short 5-minute talk should sign up here: https://tinyurl.com/rnpypp4j

Important Dates

  • Short talk proposal submission deadline: January 7th
  • PriSC Workshop: Sunday, January 11th

For questions please contact the workshop chairs, Marco Vassena (m.vassena@uu.nl) and Lesly-Ann Daniel (lesly-ann.daniel@eurecom.fr).

Call for Presentations

Secure compilation is an emerging field that puts together advances in security, programming languages, compilers, verification, systems, and hardware architectures in order to build compilers that eliminate many of today’s security vulnerabilities.

Anyone interested in presenting at the workshop should submit an extended abstract (up to 2 pages) covering past, ongoing, or future work. Any topic that could be of interest to secure compilation is in scope. Secure compilation should be interpreted broadly to include techniques that span programming languages, architecture, and systems. This includes presentations on new attack vectors whose defenses could benefit from compiler techniques. Presentations that provide a useful outside view or challenge the community are also welcome. Submitting to the workshop does not preclude publication in other venues, as the workshop does not have public proceedings.

Specific topics of interest include but are not limited to:

  • Attacker models for secure compiler chains.
  • Secure compiler properties: fully abstract compilation and similar properties, memory safety, control-flow integrity, preservation of safety, information flow and other (hyper-)properties against adversarial contexts, secure multi-language interoperability.
  • Secure interaction between different programming languages: foreign function interfaces, gradual types, securely combining different memory management strategies.
  • Enforcement mechanisms and low-level security primitives: static checking, program verification, typed assembly languages, reference monitoring, program rewriting, software-based isolation/hiding techniques (SFI, crypto-based, randomization-based, OS/hypervisor-based), security-oriented architectural features such as Intel’s SGX, MPX and MPK, capability machines, side-channel defenses, object capabilities.
  • Experimental evaluation and applications of secure compilers.
  • Proof methods relevant to compilation: (bi)simulation, logical relations, game semantics, trace semantics, multi-language semantics, embedded interpreters.
  • Formal verification of secure compilation chains (protection mechanisms, compilers, linkers, loaders), machine-checked proofs, translation validation, and property-based testing.

Guidelines for Submitting Extended Abstracts

Extended abstracts should be submitted in PDF format and not exceed 2 pages (excluding references). They should be formatted in two-column layout, 10pt font, and be printable on A4 and US Letter sized paper. We recommend using the new acmart LaTeX style in sigplan mode. Submissions are not anonymous and should provide sufficient detail to be assessed by the program committee. Presentation at the workshop does not preclude publication elsewhere.

Contact and More Information

For questions, please contact the workshop chairs: Lesly-Ann Daniel and Marco Vassena.

Title: The V8 Sandbox From Compiler Correctness to Runtime Containment

Speaker: Samuel Groß, Google Project Zero

Traditional memory-safety approaches (such as memory-safe languages) offer robust protection against implementation vulnerabilities, but they cannot guarantee the safety of Just-In-Time (JIT) compilers, where the compiler itself is a direct attack surface. For example, in a JavaScript engine, the input is attacker-controlled code, and a single logic bug in the optimization pipeline can trick the JIT into emitting unsafe machine code, regardless of the host language’s guarantees.

In this talk, we present the V8 Sandbox, a practical defense mechanism deployed in the Chromium browser engine. Rather than attempting to formally verify the correctness of the entire V8 optimization pipeline, we shift the security goal from compiler correctness to runtime containment. This in essence allows us to decouple the JIT’s complexity from its security properties. We will discuss the design principles and performance characteristics of this lightweight, in-process sandbox, detail the complexities of retrofitting a new security boundary into an existing and complex codebase, and provide an outlook for future hardening of the sandbox such as hardware support or code validation.

About the speaker. Samuel Groß is a Security Researcher at Google Project Zero, where he specializes in browser security and automated vulnerability discovery as part of the Google Big Sleep project. Previously, he led the V8 Security Team (2022–2025), where he directed the architecture and implementation of defensive mitigations within the V8 JavaScript engine, in particular the V8 Sandbox. Before joining Google in 2019, Samuel gained experience as an independent security researcher, participating in contests such as Pwn2Own and publishing articles in Phrack on JavaScript engine exploitation.