VLDB 2026 Research / reviewers in the wild / expert
Cláudio Belo Lourenço
dblp:153/2527 · also Cláudio Lourenço
· DBLP profile ↗
10ranked-venue papers
7as first author
5since 2021 · last 2026
0000-0001-8828-8843ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 9 · 7 first-author · 5 since 2021Theory of computation · 2 · 1 since 2021Artificial intelligence and machine learning · 1Systems, architecture and hardware · 1Applied, interdisciplinary, general and emerging computing · 1 · 1 first-author
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Auto-active verification of distributed systems and specification refinements with Why3-doabstractIn this paper, we introduce a novel approach for rigorously verifying safety properties of state machine specifications. Our method leverages an auto-active verifier and centers around the use of action functions annotated with contracts. These contracts facilitate inductive invariant checking, ensuring correctness during system execution. Our approach is further supported by the Why3-do library, which extends the Why3 tool's capabilities to verify concurrent and distributed algorithms using state machines. Two distinctive features of Why3-do are: (i) it supports specification refinement through refinement mappings, enabling hierarchical reasoning about distributed algorithms; and (ii) it can be easily extended to make verifying specific classes of systems more convenient. In particular, the library contains models allowing for message-passing algorithms to be described with programmed handlers , assuming different network semantics. A gallery of examples, all verified with Why3 using SMT solvers as proof tools, is also described in the paper. It contains several auto-actively verified concurrent and distributed algorithms, including the Paxos consensus algorithm. Cláudio Belo Lourenço, Jorge Sousa Pinto |
Sci. Comput. Program. | 1 |
| 2025 | Closure Conversion, Flat Environments, and the Complexity of Abstract MachinesabstractClosure conversion is a program transformation at work in compilers for functional languages to turn inner functions into global ones, by building closures pairing the transformed functions with the environment of their free variables. Abstract machines rely on similar and yet different concepts of closures and environments. We study the relationship between the two approaches. We adopt a simple λ -calculus with tuples as source language and study abstract machines for both the source language and the target of closure conversion. Moreover, we focus on the simple case of flat closures/environments (no sharing of environments). We provide three contributions. Firstly, a new simple proof technique for the correctness of closure conversion, inspired by abstract machines. Secondly, we show how the closure invariants of the target language allow us to design a new way of handling environments in abstract machines, not suffering the shortcomings of other styles. Beniamino Accattoli, Cláudio Belo Lourenço, Dan R. Ghica, Giulio Guerrieri, Claudio Sacerdoti Coen |
PPDP | 2 |
| 2022 | Why3-do: The Way of Harmonious Distributed System ProofsabstractAbstract We study principles and models for reasoning inductively about properties of distributed systems, based on programmed atomic handlers equipped with contracts. We present the Why3-do library, leveraging a state of the art software verifier for reasoning about distributed systems based on our models. A number of examples involving invariants containing existential and nested quantifiers (including Dijsktra’s self-stabilizing systems) illustrate how the library promotes contract-based modular development, abstraction barriers, and automated proofs. Cláudio Belo Lourenço, Jorge Sousa Pinto |
ESOP | 1 |
| 2022 | Automated formal analysis of temporal properties of Ladder programs
Cláudio Belo Lourenço, Denis Cousineau 0002, Florian Faissole, Claude Marché, David Mentré, Hiroaki Inoue |
Int. J. Softw. Tools Technol. Transf. | 1 |
| 2021 | Automated Verification of Temporal Properties of Ladder Programs
Cláudio Belo Lourenço, Denis Cousineau 0002, Florian Faissole, Claude Marché, David Mentré, Hiroaki Inoue |
FMICS | 1 |
| 2019 | GOSPEL - Providing OCaml with a Formal Specification Language
Arthur Charguéraud, Jean-Christophe Filliâtre, Cláudio Belo Lourenço, Mário Pereira |
FM | 3 |
| 2018 | A Generalized Approach to Verification Condition GenerationabstractIn a world where many human lives depend on the correct behavior of software systems, program verification assumes a crucial role. Many verification tools rely on an algorithm that generates verification conditions (VCs) from code annotated with properties to be checked. In this paper, we revisit two major methods that are widely used to produce VCs: predicate transformers (used mostly by deductive verification tools) and the conditional normal form transformation (used in bounded model checking of software). We identify three different aspects in which the methods differ (logical encoding of control flow, use of contexts, and semantics of asserts), and show that, since they are orthogonal, they can be freely combined. This results in six new hybrid verification condition generators (VCGens), which together with the fundamental methods constitute what we call the VCGen cube. We consider two optimizations implemented in major program verification tools and show that each of them can in fact be applied to an entire face of the cube, resulting in optimized versions of the six hybrid VCGens. Finally, we compare all VCGens empirically using a number of benchmarks. Although the results do not indicate absolute superiority of any given method, they do allow us to identify interesting patterns. Cláudio Belo Lourenço, Maria João Frade, Shin Nakajima 0001, Jorge Sousa Pinto |
COMPSAC (1) | 1 |
| 2016 | Formalizing Single-Assignment Program Verification: An Adaptation-Complete Approach
Cláudio Belo Lourenço, Maria João Frade, Jorge Sousa Pinto |
ESOP | 1 |
| 2016 | A framework for quality assessment of ROS repositoriesabstractRobots are being increasingly used in safety-critical contexts, such as transportation and health. The need for flexible behavior in these contexts, due to human interaction factors or unstructured operating environments, led to a transition from hardware- to software-based safety mechanisms in robotic systems, whose reliability and quality is imperative to guarantee. Source code static analysis is a key component in formal software verification. It consists on inspecting code, often using automated tools, to determine a set of relevant properties that are known to influence the occurrence of defects in the final product. This paper presents HAROS, a generic, plug-in-driven, framework to evaluate code quality, through static analysis, in the context of the Robot Operating System (ROS), one of the most widely used robotic middleware. This tool (equipped with plug-ins for computing metrics and conformance to coding standards) was applied to several publicly available ROS repositories, whose results are also reported in the paper, thus providing a first overview of the internal quality of the software being developed in this community. André Santos 0001, Alcino Cunha, Nuno Macedo 0001, Cláudio Belo Lourenço |
IROS | 4 |
| 2014 | A Bounded Model Checker for SPARK Programs
Cláudio Belo Lourenço, Maria João Frade, Jorge Sousa Pinto |
ATVA | 1 |