EDBT 2026 Demo / reviewers in the wild / expert
Jesper Bengtson
dblp:65/1245
· DBLP profile ↗
18ranked-venue papers
7as first author
5since 2021 · last 2025
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Theory of computation · 9 · 4 first-author · 3 since 2021Software engineering, systems software and programming languages · 8 · 2 first-author · 2 since 2021Artificial intelligence and machine learning · 2 · 1 first-author · 1 since 2021Security and privacy · 1 · 1 first-author
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | Multiparty Asynchronous Session Types: A Mechanised Proof of Subject ReductionabstractProofgold is a peer to peer cryptocurrency making use of formal logic. Users can publish theories and then develop a theory by publishing documents with definitions, conjectures and proofs. The blockchain records the theories and their state of development (e.g., which theorems have been proven and when). Two of the main theories are a form of classical set theory (for formalizing mathematics) and an intuitionistic theory of higher-order abstract syntax (for reasoning about syntax with binders). We have also significantly modified the open source Proofgold Core client software to create a faster, more stable and more efficient client, Proofgold Lava. Two important changes are the cryptography code and the database code, and we discuss these improvements. We also discuss how the Proofgold network can be used to support large formalization efforts. Dawit Legesse Tirore, Jesper Bengtson, Marco Carbone |
ECOOP | 2 |
| 2025 | A Sound and Complete Projection for Global TypesabstractAbstract Multiparty session types is a typing discipline used to write specifications, known as global types, for branching and recursive message-passing systems. A necessary operation on global types is projection to abstractions of local behaviour, called local types. Typically, this is a computable partial function that given a global type and a role erases all details irrelevant to this role. Computable projection functions in the literature are either unsound or too restrictive when dealing with recursion and branching. Recent work has taken a more general approach to projection defining it as a coinductive, but not computable, relation. Our work defines a new computable projection function that is sound and complete with respect to its coinductive counterpart and, hence, equally expressive. All results have been mechanised in the Coq proof assistant. Dawit Legesse Tirore, Jesper Bengtson, Marco Carbone |
J. Autom. Reason. | 2 |
| 2023 | A Sound and Complete Projection for Global Types
Dawit Legesse Tirore, Jesper Bengtson, Marco Carbone |
ITP | 2 |
| 2022 | Actris 2.0: Asynchronous Session-Type Based Reasoning in Separation LogicabstractMessage passing is a useful abstraction for implementing concurrent programs. For real-world systems, however, it is often combined with other programming and concurrency paradigms, such as higher-order functions, mutable state, shared-memory concurrency, and locks. We present Actris: a logic for proving functional correctness of programs that use a combination of the aforementioned features. Actris combines the power of modern concurrent separation logics with a first-class protocol mechanism -- based on session types -- for reasoning about message passing in the presence of other concurrency paradigms. We show that Actris provides a suitable level of abstraction by proving functional correctness of a variety of examples, including a channel-based merge sort, a channel-based load-balancing mapper, and a variant of the map-reduce model, using concise specifications. While Actris was already presented in a conference paper (POPL'20), this paper expands the prior presentation significantly. Moreover, it extends Actris to Actris 2.0 with a notion of subprotocols -- based on session-type subtyping -- that permits additional flexibility when composing channel endpoints, and that takes full advantage of the asynchronous semantics of message passing in Actris. Soundness of Actris 2.0 is proven using a model of its protocol mechanism in the Iris framework. We have mechanised the theory of Actris, together with custom tactics, as well as all examples in the paper, in the Coq proof assistant. Jonas Kastberg Hinrichsen, Jesper Bengtson, Robbert Krebbers |
Log. Methods Comput. Sci. | 2 |
| 2021 | Machine-checked semantic session typingabstractSession types—a family of type systems for message-passing concurrency—have been subject to many extensions, where each extension comes with a separate proof of type safety. These extensions cannot be readily combined, and their proofs of type safety are generally not machine checked, making their correctness less trustworthy. We overcome these shortcomings with a semantic approach to binary asynchronous affine session types, by developing a logical relations model in Coq using the Iris program logic. We demonstrate the power of our approach by combining various forms of polymorphism and recursion, asynchronous subtyping, references, and locks/mutexes. As an additional benefit of the semantic approach, we demonstrate how to manually prove typing judgements of racy, but safe, programs that cannot be type checked using only the rules of the type system. Jonas Kastberg Hinrichsen, Daniël Louwrink, Robbert Krebbers, Jesper Bengtson |
CPP | 4 |
| 2020 | Actris: session-type based reasoning in separation logicabstractMessage passing is a useful abstraction to implement concurrent programs. For real-world systems, however, it is often combined with other programming and concurrency paradigms, such as higher-order functions, mutable state, shared-memory concurrency, and locks. We present Actris: a logic for proving functional correctness of programs that use a combination of the aforementioned features. Actris combines the power of modern concurrent separation logics with a first-class protocol mechanism—based on session types—for reasoning about message passing in the presence of other concurrency paradigms. We show that Actris provides a suitable level of abstraction by proving functional correctness of a variety of examples, including a distributed merge sort, a distributed load-balancing mapper, and a variant of the map-reduce model, using relatively simple specifications. Soundness of Actris is proved using a model of its protocol mechanism in the Iris framework. We mechanised the theory of Actris, together with tactics for symbolic execution of programs, as well as all examples in the paper, in the Coq proof assistant. Jonas Kastberg Hinrichsen, Jesper Bengtson, Robbert Krebbers |
Proc. ACM Program. Lang. | 2 |
| 2018 | Coqoon - An IDE for interactive proof development in Coq
Alexander John Faithfull, Jesper Bengtson, Enrico Tassi, Carst Tankink |
Int. J. Softw. Tools Technol. Transf. | 2 |
| 2016 | Extensible and Efficient Automation Through Reflective Tactics
Gregory Malecha, Jesper Bengtson |
ESOP | 2 |
| 2016 | Coqoon - An IDE for Interactive Proof Development in CoqabstractInternational audience Alexander John Faithfull, Jesper Bengtson, Enrico Tassi, Carst Tankink |
TACAS | 2 |
| 2016 | Psi-Calculi in Isabelle
Jesper Bengtson, Joachim Parrow, Tjark Weber |
J. Autom. Reason. | 1 |
| 2012 | Charge! - A Framework for Higher-Order Separation Logic in Coq
Jesper Bengtson, Jonas Braband Jensen, Lars Birkedal |
ITP | 1 |
| 2011 | Verifying Object-Oriented Programs with Higher-Order Separation Logic in Coq
Jesper Bengtson, Jonas Braband Jensen, Filip Sieczkowski, Lars Birkedal |
ITP | 1 |
| 2011 | Refinement types for secure implementationsabstractWe present the design and implementation of a typechecker for verifying security properties of the source code of cryptographic protocols and access control mechanisms. The underlying type theory is a λ-calculus equipped with refinement types for expressing pre- and post-conditions within first-order logic. We derive formal cryptographic primitives and represent active adversaries within the type theory. Well-typed programs enjoy assertion-based security properties, with respect to a realistic threat model including key compromise. The implementation amounts to an enhanced typechecker for the general-purpose functional language F # ; typechecking generates verification conditions that are passed to an SMT solver. We describe a series of checked examples. This is the first tool to verify authentication properties of cryptographic protocols by typechecking their source code. Jesper Bengtson, Karthikeyan Bhargavan, Cédric Fournet, Andrew D. Gordon 0001, Sergio Maffeis |
ACM Trans. Program. Lang. Syst. | 1 |
| 2010 | Weak Equivalences in Psi-CalculiabstractPsi-calculi extend the pi-calculus with nominal datatypes to represent data, communication channels, and logics for facts and conditions. This general framework admits highly expressive formalisms such as concurrent higher-order constraints and advanced cryptographic primitives. We here establish the theory of weak bisimulation, where the τ actions are unobservable. In comparison to other calculi the presence of assertions poses a significant challenge in the definition of weak bisimulation, and although there appears to be a spectrum of possibilities we show that only a few are reasonable. We demonstrate that the complications mainly stem from psi-calculi where the associated logic does not satisfy weakening. We prove that weak bisimulation equivalence has the expected algebraic properties and that the corresponding observation congruence is preserved by all operators. These proofs have been machine checked in Isabelle. The notion of weak barb is defined as the output label of a communication action, and weak barbed equivalence is bisimilarity for τ actions and preservation of barbs in all static contexts. We prove that weak barbed equivalence coincides with weak bisimulation equivalence. Magnus Johansson 0001, Jesper Bengtson, Joachim Parrow, Björn Victor |
LICS | 2 |
| 2009 | Psi-calculi: Mobile Processes, Nominal Data, and LogicabstractA psi-calculus is an extension of the pi-calculus with nominal data types for data structures and for logical assertions representing facts about data. These can be transmitted between processes and their names can be statically scoped using the standard pi-calculus mechanism to allow for scope migrations. Other proposed extensions of the pi-calculus can be formulated as psi-calculi; examples include the applied pi-calculus, the spi-calculus, the fusion calculus, the concurrent constraint pi-calculus, and calculi with polyadic communication channels or pattern matching. Psi-calculi can be even more general, for example by allowing structured channels, higher-order formalisms such as the lambda calculus for data structures, and a predicate logic for assertions. Our labelled operational semantics and definition of bisimulation is straightforward, without a structural congruence. We establish minimal requirements on the nominal data and logic in order to prove general algebraic properties of psi-calculi. The proofs have been checked in the interactive proof checker Isabelle. We are the first to formulate a truly compositional labelled operational semantics for calculi of this calibre. Expressiveness and therefore modelling convenience significantly exceeds that of other formalisms, while the purity of the semantics is on par with the original pi-calculus. Jesper Bengtson, Magnus Johansson 0001, Joachim Parrow, Björn Victor |
LICS | 1 |
| 2008 | Refinement Types for Secure ImplementationsabstractWe present the design and implementation of a typechecker for verifying security properties of the source code of cryptographic protocols and access control mechanisms. The underlying type theory is a λ-calculus equipped with refinement types for expressing pre- and post-conditions within first-order logic. We derive formal cryptographic primitives and represent active adversaries within the type theory. Well-typed programs enjoy assertion-based security properties, with respect to a realistic threat model including key compromise. The implementation amounts to an enhanced typechecker for the general purpose functional language F#; typechecking generates verification conditions that are passed to an SMT solver. We describe a series of checked examples. This is the first tool to verify authentication properties of cryptographic protocols by typechecking their source code. Jesper Bengtson, Karthikeyan Bhargavan, Cédric Fournet, Andrew D. Gordon 0001, Sergio Maffeis |
CSF | 1 |
| 2008 | Extended pi-Calculi
Magnus Johansson 0001, Joachim Parrow, Björn Victor, Jesper Bengtson |
ICALP (2) | 4 |
| 2007 | Formalising the pi-Calculus Using Nominal Logic
Jesper Bengtson, Joachim Parrow |
FoSSaCS | 1 |