VLDB 2026 Research / reviewers in the wild / expert
Francisco Ferreira 0001
dblp:99/5922-1 · also Francisco Ferreira Ruiz
· DBLP profile ↗
14ranked-venue papers
3as first author
8since 2021 · last 2026
0000-0001-8494-7696ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 11 · 3 first-author · 6 since 2021Theory of computation · 3 · 1 first-author · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | A Synthetic Reconstruction of Multiparty Session TypesabstractMultiparty session types (MPST) provide a rigorous foundation for verifying the safety and liveness of concurrent systems. However, existing approaches often force a difficult trade-off: classical, projection-based techniques are compositional but limited in expressiveness, while more recent techniques achieve higher expressiveness by relying on non-compositional, whole-system model checking, which scales poorly. This paper introduces a new approach to MPST that delivers both expressiveness and compositionality, called the synthetic approach. Our key innovation is a type system that verifies each process directly against a global protocol specification, represented as a labelled transition system (LTS) in general, with global types as a special case. This approach uniquely avoids the need for intermediate local types and projection. We demonstrate that our approach, while conceptually simpler, supports a benchmark of challenging protocols that were previously beyond the reach of compositional techniques in the MPST literature. We generalise our type system, showing that it can validate processes against any specification that constitutes a “well-behaved” LTS, supporting protocols not expressible with the standard global type syntax. The entire framework, including all theorems and many examples, has been formalised and mechanised in Agda, and we have developed a prototype implementation as an extension to VS Code. David Castro-Perez, Francisco Ferreira 0001, Sung-Shik Jongmans |
Proc. ACM Program. Lang. | 2 |
| 2024 | The Concurrent Calculi Formalisation Benchmark
Marco Carbone, David Castro-Perez, Francisco Ferreira 0001, Lorenzo Gheri, Frederik Krogsdal Jacobsen, Alberto Momigliano, Luca Padovani, Alceste Scalas, Dawit Legesse Tirore, Martin Vassor, Nobuko Yoshida, Daniel Zackon |
COORDINATION | 3 |
| 2023 | Synthetic Behavioural Typing: Sound, Regular Multiparty Sessions via Implicit Local Types (Pearl/Brave New Idea)
Sung-Shik Jongmans, Francisco Ferreira 0001 |
ECOOP | 2 |
| 2023 | Oven: Safe and Live Communication Protocols in Scala, using Synthetic Behavioural Type AnalysisabstractWe present Oven: a toolset to assure safety and liveness of communication protocols among threads in concurrent programs in Scala. Francisco Ferreira 0001, Sung-Shik Jongmans |
ISSTA | 1 |
| 2022 | CONCUR test-of-time award for the period 1994-97 interview with Uwe Nestmann and Benjamin C. Pierce
Adam D. Barwell, Francisco Ferreira 0001, Nobuko Yoshida |
J. Log. Algebraic Methods Program. | 2 |
| 2021 | Communication-safe web programming in TypeScript with routed multiparty session typesabstractModern web programming involves coordinating interactions between browser clients and a server. Typically, the interactions in web-based distributed systems are informally described, making it hard to ensure correctness, especially communication safety, i.e. all endpoints progress without type errors or deadlocks, conforming to a specified protocol. Anson Miu, Francisco Ferreira 0001, Nobuko Yoshida, Fangyi Zhou 0002 |
CC | 2 |
| 2021 | Communicating Finite State Machines and an Extensible Toolchain for Multiparty Session Types
Nobuko Yoshida, Fangyi Zhou 0002, Francisco Ferreira 0001 |
FCT | 3 |
| 2021 | Zooid: a DSL for certified multiparty computation: from mechanised metatheory to certified multiparty processesabstractWe design and implement Zooid, a domain specific language for certified multiparty communication, embedded in Coq and implemented atop our mechanisation framework of asynchronous multiparty session types (the first of its kind). Zooid provides a fully mechanised metatheory for the semantics of global and local types, and a fully verified end-point process language that faithfully reflects the type-level behaviours and thus inherits the global types properties such as deadlock freedom, protocol compliance, and liveness guarantees. David Castro-Perez, Francisco Ferreira 0001, Lorenzo Gheri, Nobuko Yoshida |
PLDI | 2 |
| 2020 | EMTST: Engineering the Meta-theory of Session TypesabstractAbstract Session types provide a principled programming discipline for structured interactions. They represent a wide spectrum of type-systems for concurrency. Their type safety is thus extremely important. EMTST is a tool to aid in representing and validating theorems about session types in the Coq proof assistant. On paper, these proofs are often tricky, and error prone. In proof assistants, they are typically long and difficult to prove. In this work, we propose a library that helps validate the theory of session types calculi in proof assistants. As a case study, we study two of the most used binary session types systems: we show the impossibility of representing the first system in $$\alpha $$ -equivalent representations, and we prove type preservation for the revisited system. We develop our tool in the Coq proof assistant, using locally nameless for binders and small scale reflection to simplify the handling of linear typing environments. David Castro-Perez, Francisco Ferreira 0001, Nobuko Yoshida |
TACAS (2) | 2 |
| 2020 | Statically verified refinements for multiparty protocolsabstractWith distributed computing becoming ubiquitous in the modern era, safe distributed programming is an open challenge. To address this, multiparty session types (MPST) provide a typing discipline for message-passing concurrency, guaranteeing communication safety properties such as deadlock freedom. While originally MPST focus on the communication aspects, and employ a simple typing system for communication payloads, communication protocols in the real world usually contain constraints on the payload. We introduce refined multiparty session types (RMPST), an extension of MPST, that express data dependent protocols via refinement types on the data types. We provide an implementation of RMPST, in a toolchain called Session*, using Scribble, a toolchain for multiparty protocols, and targeting F*, a verification-oriented functional programming language. Users can describe a protocol in Scribble and implement the endpoints in F* using refinement-typed APIs generated from the protocol. The F* compiler can then statically verify the refinements. Moreover, we use a novel approach of callback-styled API generation, providing static linearity guarantees with the inversion of control. We evaluate our approach with real world examples and show that it has little overhead compared to a naive implementation, while guaranteeing safety properties from the underlying theory. Fangyi Zhou 0002, Francisco Ferreira 0001, Raymond Hu, Rumyana Neykova, Nobuko Yoshida |
Proc. ACM Program. Lang. | 2 |
| 2019 | A Type Theory for Defining Logics and ProofsabstractWe describe a Martin-Lof-style dependent type theory, called Cocon, that allows us to mix the intensional function space that is used to represent higher-order abstract syntax (HOAS) trees with the extensional function space that describes (recursive) computations. We mediate between HOAS representations and computations using contextual modal types. Our type theory also supports an infinite hierarchy of universes and hence supports type-level computation thereby providing metaprogramming and (small-scale) reflection. Our main contribution is the development of a Kripke-style model for Cocon that allows us to prove normalization. From the normalization proof, we derive subject reduction and consistency. Our work lays the foundation to incorporate the methodology of logical frameworks into systems such as Agda and bridges the longstanding gap between these two worlds. Brigitte Pientka, David Thibodeau 0001, Andreas Abel 0001, Francisco Ferreira 0001, Rébecca Zucchini |
LICS | 4 |
| 2017 | Programs Using Syntax with First-Class Binders
Francisco Ferreira 0001, Brigitte Pientka |
ESOP | 1 |
| 2014 | Fair reactive programmingabstractFunctional Reactive Programming (FRP) models reactive systems with events and signals, which have previously been observed to correspond to the "eventually" and "always" modalities of linear temporal logic (LTL). In this paper, we define a constructive variant of LTL with least fixed point and greatest fixed point operators in the spirit of the modal mu-calculus, and give it a proofs-as-programs interpretation as a foundational calculus for reactive programs. Previous work emphasized the propositions-as-types part of the correspondence between LTL and FRP; here we emphasize the proofs-as-programs part by employing structural proof theory. We show that the type system is expressive enough to enforce liveness properties such as the fairness of schedulers and the eventual delivery of results. We illustrate programming in this calculus using (co)iteration operators. We prove type preservation of our operational semantics, which guarantees that our programs are causal. We give also a proof of strong normalization which provides justification that our programs are productive and that they satisfy liveness properties derived from their types. Andrew Cave, Francisco Ferreira 0001, Prakash Panangaden, Brigitte Pientka |
POPL | 2 |
| 2014 | Bidirectional Elaboration of Dependently Typed ProgramsabstractDependently typed programming languages allow programmers to express a rich set of invariants and verify them statically via type checking. To make programming with dependent types practical, dependently typed systems provide a compact language for programmers where one can omit some arguments, called implicit, which can be inferred. This source language is then usually elaborated into a core language where type checking and fundamental properties such as normalization are well understood. Unfortunately, this elaboration is rarely specified and in general is ill-understood. This makes it not only difficult for programmers to understand why a given program fails to type check, but also is one of the reasons that implementing dependently typed programming systems remains a black art known only to a few. Francisco Ferreira 0001, Brigitte Pientka |
PPDP | 1 |