Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Felix A. Wolf

dblp:276/5744 · DBLP profile ↗
← Back
7ranked-venue papers
4as first author
6since 2021 · last 2025
0000-0002-8573-2387ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Security and privacy · 3 · 1 first-author · 3 since 2021Software engineering, systems software and programming languages · 3 · 2 first-author · 2 since 2021Theory of computation · 3 · 3 first-author · 3 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
5 papers
Program verification · 83% Programming languages and type systems · 8% Concurrent programming · 8%
Network and information security
3 papers
Systems and software security · 44% Cryptographic protocols and secure computation · 29% Authentication and access control · 14%
Computer networks
1 paper
Internet architecture and protocols · 100%

Topics — the 20 heaviest of 22, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Internet architecture and protocols
future internet architecture
0.912025
Protocols to Code: Formal Verification of a Secure Next-Generation Internet Router · CCS 2025
Cryptographic protocols and secure computation › security protocol analysis
formal analysis of cryptographic protocols
0.912025
Protocols to Code: Formal Verification of a Secure Next-Generation Internet Router · CCS 2025
Systems and software security › information flow control
declassification policies
0.812024
Verifiable Security Policies for Distributed Systems · CCS 2024
Systems and software security
information flow control
0.812024
Verifiable Security Policies for Distributed Systems · CCS 2024
Systems and software security › information flow control
information flow policies
0.812024
Verifiable Security Policies for Distributed Systems · CCS 2024
Authentication and access control › security policy
security policy verification
0.812024
Verifiable Security Policies for Distributed Systems · CCS 2024
Cryptographic protocols and secure computation
key exchange
0.712023
Sound Verification of Security Protocols: From Design to Interoperable Implementations · SP 2023
Network security › secure communication › secure communication protocol
wireguard
0.712023
Sound Verification of Security Protocols: From Design to Interoperable Implementations · SP 2023
Program verification
code-level verification
0.712023
Sound Verification of Security Protocols: From Design to Interoperable Implementations · SP 2023
Program verification › protocol verification
security protocol verification
0.712023
Sound Verification of Security Protocols: From Design to Interoperable Implementations · SP 2023
Concurrent programming › concurrency bugs
data race freedom
0.512021
Gobra: Modular Specification and Verification of Go Programs · CAV (1) 2021
Program verification
deductive verification
0.512021
Gobra: Modular Specification and Verification of Go Programs · CAV (1) 2021
Programming languages and type systems › language-based security
memory safety
0.512021
Gobra: Modular Specification and Verification of Go Programs · CAV (1) 2021
Program verification
modular verification
0.512021
Gobra: Modular Specification and Verification of Go Programs · CAV (1) 2021
Program verification
program logic
0.512021
Concise Outlines for a Complex Logic: A Proof Outline Checker for TaDA · FM 2021
Program verification
distributed system verification
0.412020
Igloo: soundly linking compositional refinement and separation logic for distributed system verification · Proc. ACM Program. Lang. 2020
Program verification
refinement
0.412020
Igloo: soundly linking compositional refinement and separation logic for distributed system verification · Proc. ACM Program. Lang. 2020
Program verification › program logic
separation logic
0.412020
Igloo: soundly linking compositional refinement and separation logic for distributed system verification · Proc. ACM Program. Lang. 2020
Program verification › refinement
refinement proof
0.312025
Protocols to Code: Formal Verification of a Secure Next-Generation Internet Router · CCS 2025
Distributed systems
distributed system security
0.212024
Verifiable Security Policies for Distributed Systems · CCS 2024

Methods — techniques the papers use, named apart from their topics

refinement in Isabelle/HOL · 2.6automated program verification · 2.6Isabelle/HOL · 2.0separation logic · 1.8SMT-based verification · 1.5tamarin · 1.3i/o specification · 1.3viper · 0.5proof outline checking · 0.5SMT solving · 0.5nagini · 0.4
YearPublicationVenuePosition
2025 Protocols to Code: Formal Verification of a Secure Next-Generation Internet Router
abstract
We present the first formally-verified Internet router, which is part of the SCION Internet architecture. SCION routers run a cryptographic protocol for secure packet forwarding in an adversarial environment. We verify both the protocol's network-wide security properties and the low-level properties of its implementation. Namely, we develop a series of protocol models by refinement in Isabelle/HOL and we use an automated program verifier to prove that the router's Go code satisfies crash freedom, freedom from data races, and adheres to the most concrete model in our series of refinements. Both verification efforts are soundly linked together.
João C. Pereira, Tobias Klenze, Sofia Giampietro, Markus Limbeck, Dionysios Spiliopoulos, Felix A. Wolf, Marco Eilers, Christoph Sprenger 0001, David A. Basin, Peter Müller 0001, Adrian Perrig
CCS6
2024 Verifiable Security Policies for Distributed Systems
abstract
In the context of secure information flow, security policies express the classification and declassification of data. Existing policy frameworks are tightly linked to a programming language, which limits their flexibility and complicates reasoning, for instance, during audits. We present a framework for the specification and verification of security policies for distributed systems, where attackers may observe the I/O performed by a program, but not its memory. Our policies are expressed over the I/O behaviors of programs and, thereby, language-agnostic. We present techniques to reason formally about policies, and to verify that an implementation satisfies a given policy. We formalize these verification techniques in Isabelle/HOL. An evaluation on several case studies, including an implementation of the WireGuard VPN key exchange protocol, demonstrates that our policies are expressive, and that verification is amenable to SMT-based verification.
Felix A. Wolf, Peter Müller 0001
CCS1
2023 Sound Verification of Security Protocols: From Design to Interoperable Implementations
abstract
We provide a framework consisting of tools and metatheorems for the end-to-end verification of security protocols, which bridges the gap between automated protocol verification and code-level proofs. We automatically translate a Tamarin protocol model into a set of I/O specifications expressed in separation logic. Each such specification describes a protocol role’s intended I/O behavior against which the role’s implementation is then verified. Our soundness result guarantees that the verified implementation inherits all security (trace) properties proved for the Tamarin model. Our framework thus enables us to leverage the substantial body of prior verification work in Tamarin to verify new and existing implementations. The possibility to use any separation logic code verifier provides flexibility regarding the target language. To validate our approach and show that it scales to real-world protocols, we verify a substantial part of the official Go implementation of the WireGuard VPN key exchange protocol.
Linard Arquint, Felix A. Wolf, Joseph Lallemand, Ralf Sasse, Christoph Sprenger 0001, Sven N. Wiesner, David A. Basin, Peter Müller 0001
SP2
2022 Concise outlines for a complex logic: a proof outline checker for TaDA
abstract
Abstract Modern separation logics allow one to prove rich properties of intricate code, e.g., functional correctness and linearizability of non-blocking concurrent code. However, this expressiveness leads to a complexity that makes these logics difficult to apply. Manual proofs or proofs in interactive theorem provers consist of a large number of steps, often with subtle side conditions. On the other hand, automation with dedicated verifiers typically requires sophisticated proof search algorithms that are specific to the given program logic, resulting in limited tool support that makes it difficult to experiment with program logics, e.g., when learning, improving, or comparing them. Proof outline checkers fill this gap. Their input is a program annotated with the most essential proof steps, just like the proof outlines typically presented in papers. The tool then checks automatically that this outline represents a valid proof in the program logic. In this paper, we systematically develop a proof outline checker for the TaDA logic, which reduces the checking to a simpler verification problem, for which automated tools exist. Our approach leads to proof outline checkers that provide substantially more automation than interactive provers, but are much simpler to develop than custom automatic verifiers.
Felix A. Wolf, Malte Schwerhoff, Peter Müller 0001
Formal Methods Syst. Des.1
2021 Gobra: Modular Specification and Verification of Go Programs
abstract
Abstract Go is an increasingly-popular systems programming language targeting, especially, concurrent and distributed systems. Go differentiates itself from other imperative languages by offering structural subtyping and lightweight concurrency through goroutines with message-passing communication. This combination of features poses interesting challenges for static verification, most prominently the combination of a mutable heap and advanced concurrency primitives. We present Gobra, a modular, deductive program verifier for Go that proves memory safety, crash safety, data-race freedom, and user-provided specifications. Gobra is based on separation logic and supports a large subset of Go. Its implementation translates an annotated Go program into the Viper intermediate verification language and uses an existing SMT-based verification backend to compute and discharge proof obligations.
Felix A. Wolf, Linard Arquint, Martin Clochard, Wytse Oortwijn, João Carlos Pereira, Peter Müller 0001
CAV (1)1
2021 Concise Outlines for a Complex Logic: A Proof Outline Checker for TaDA
Felix A. Wolf, Malte Schwerhoff, Peter Müller 0001
FM1
2020 Igloo: soundly linking compositional refinement and separation logic for distributed system verification
abstract
Lighthouse projects like CompCert, seL4, IronFleet, and DeepSpec have demonstrated that full system verification is feasible by establishing a refinement between an abstract system specification and an executable implementation. Existing approaches however impose severe restrictions on the abstract system specifications due to their limited expressiveness or versatility, or on the executable code due to their use of suboptimal code extraction or inexpressive program logics. We propose a novel methodology that combines the compositional refinement of event-based models of distributed systems with the verification of full-fledged program code using expressive separation logics, which support features of realistic programming languages like heap data structures and concurrency. Our main technical contribution is a formal framework that soundly relates event-based system models to program specifications in separation logics. This enables protocol development tools to soundly interoperate with program verifiers to establish a refinement between the model and the code. We formalized our framework, Igloo, in Isabelle/HOL. We report on three case studies, a leader election protocol, a replication protocol, and a security protocol, for which we refine formal requirements into program specifications that we implement in Java and Python and prove correct using the VeriFast and Nagini tools.
Christoph Sprenger 0001, Tobias Klenze, Marco Eilers, Felix A. Wolf, Peter Müller 0001, Martin Clochard, David A. Basin
Proc. ACM Program. Lang.4