VLDB 2026 Research / reviewers in the wild / expert
Roberto Guanciale
dblp:12/5314
· DBLP profile ↗
41ranked-venue papers
7as first author
19since 2021 · last 2026
0000-0002-8069-6495ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 22 · 2 first-author · 11 since 2021Security and privacy · 12 · 4 first-author · 4 since 2021Theory of computation · 6 · 5 since 2021Computer networks · 3Applied, interdisciplinary, general and emerging computing · 2 · 1 since 2021Systems, architecture and hardware · 1 · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Towards Verifiable System Code using a DSL Compiled to Efficient and Readable C CodeabstractCritical embedded systems deserve the highest level of assurance to guarantee that their implementation satisfies their specification. Verification techniques such as proof by deduction operate at source level but the verification effort often requires to design higher-level abstractions that facilitate the reasoning. However, this approach comes at the cost of assuming the correctness of the abstraction with respect to the source code. Clément Chavanon, Henrik A. Karlsson, Frédéric Besson, Sandrine Blazy, Roberto Guanciale |
LCTES | 5 |
| 2026 | Forward Symbolic Execution for Trustworthy Automation of Binary Code Verification
Andreas Lindner, Karl Palmskog, Scott Constable, Mads Dam, Roberto Guanciale, Hamed Nemati |
VMCAI | 5 |
| 2026 | Hoare-style logic for unstructured programsabstractEnabling Hoare-style reasoning for low-level code is attractive since it opens the way to regain structure and modularity in a domain where structure is essentially absent. The field, however, has not yet arrived at a fully satisfactory solution, in the sense of avoiding restrictions on control flow (important for compiler optimization), controlling access to intermediate program points (important for modularity), and supporting total correctness. Proposals in the literature support some of these properties, but a solution that meets them all is yet to be found. We introduce the novel Hoare-style program logic L A , which interprets postconditions relative to program points when these are first encountered. The logic supports both partial and total correctness, derives contracts for arbitrary control flow, and allows one to freely choose decomposition strategy during verification while avoiding step-indexed approximations and global invariants. The logic can be instantiated for a variety of concrete instruction set architectures and intermediate languages. The rules of L A have been verified in the interactive theorem prover HOL4 and integrated with the toolbox HolBA for semi-automated program verification, which supports the ARMv6, ARMv8 and RISC-V instruction sets. Didrik Lundberg, Roberto Guanciale, Andreas Lindner, Mads Dam |
J. Log. Algebraic Methods Program. | 2 |
| 2025 | Leveraging Petri Nets for Workflow Anomaly Detection in Microservice Architectures
Priyanka Kamboj, Cyrille Artho, Roberto Guanciale, Reyhaneh Jabbarvand Behrouz, Brighten Godfrey |
Petri Nets | 3 |
| 2025 | Securing P4 Programs by Information Flow ControlabstractSoftware-Defined Networking (SDN) has transformed network architectures by decoupling the control and data-planes, enabling fine-grained control over packet processing and forwarding. P4, a language designed for programming data-plane devices, allows developers to define custom packet processing behaviors directly on programmable network devices. This provides greater control over packet forwarding, inspection, and modification. However, the increased flexibility provided by P4 also brings significant security challenges, particularly in managing sensitive data and preventing information leakage within the data-plane. This paper presents a novel security type system for analyzing information flow in P4 programs that combines security types with interval analysis. The proposed type system allows the specification of security policies in terms of input and output packet bit fields rather than program variables. We formalize this type system and prove it sound, guaranteeing that well-typed programs satisfy noninterference. Our prototype implementation, TAP4S, is evaluated on several use cases, demonstrating its effectiveness in detecting security violations and information leakages. Anoud Alshnakat, Amir M. Ahmadian, Musard Balliu, Roberto Guanciale, Mads Dam |
CSF | 4 |
| 2025 | Pomsets for Process Management: A Healthcare Case Study
Sourabh Pal, Roberto Guanciale, Ivan Lanese, Emilio Tuosto, Massimo Clo |
ICTAC | 2 |
| 2025 | Partitioning Kernel With Capability Controlled Temporal and Spatial PartitioningabstractPartitioning kernels often face challenges such as static resource allocation and insufficient temporal protection, limiting their applicability in dynamic and mixed-criticality systems where resource needs and security boundaries evolve over time. To address these limitations, we present S3K, a capability-based multicore partitioning kernel for embedded RISC-V systems. S3K provides robust spatial and temporal isolation, time protection, and dynamic resource reconfiguration, enabling flexible adaptation to changing operational requirements while maintaining strong safety and security guarantees. Its capability-based model ensures secure and efficient resource management, while in-kernel data partitioning prevents information leakage and mitigates side-channel attacks. Additionally, S3K's scheduler guarantees deterministic process dispatch, free from microarchitectural interference. Evaluation results demonstrate S3K's effectiveness, showing the absence of scheduling jitter, resistance to intra-core side-channels, and efficient interprocess communication. These results highlight S3K's suitability for safety-critical and security-critical applications in dynamic, resource-constrained environments. Henrik A. Karlsson, Roberto Guanciale |
RTSS | 2 |
| 2024 | Beyond Over-Protection: A Targeted Approach to Spectre Mitigation and Performance OptimizationabstractSince the advent of Spectre attacks, researchers and practitioners have developed a range of hardware and software measures to counter transient execution attacks. A prime example of such mitigation is speculative load hardening (slh) in LLVM, which protects against leaks by tracking the speculation state and masking values during misspeculation. LLVM relies on static analysis to harden programs using slh that often results in over-protection, which incurs performance overhead. We extended an existing side-channel model validation framework, Scam-V, to check the vulnerability of programs to Spectre-PHT attacks and optimize the protection of programs using the slh approach. We illustrate the efficacy of Scam-V by first demonstrating that it can automatically identify Spectre vulnerabilities in programs, e.g., fragments of crypto-libraries. We then develop an optimization mechanism to validate the necessity of slh hardening w.r.t. the target platform. Our experiments showed that hardening introduced by LLVM in most cases could be improved when the underlying microarchitecture properties are considered. Tiziano Marinaro, Pablo Buiras, Andreas Lindner, Roberto Guanciale, Hamed Nemati |
AsiaCCS | 4 |
| 2024 | Security Properties through the Lens of Modal LogicabstractWe introduce a framework for reasoning about the security of computer systems using modal logic. This framework is sufficiently expressive to capture a variety of known security properties, while also being intuitive and independent of syntactic details and enforcement mechanisms. We show how to use our formalism to represent various progress- and termination-(in)sensitive variants of confidentiality, integrity, robust declas-sification and transparent endorsement, and prove equivalence to standard definitions. The intuitive nature and closeness to semantic reality of our approach allows us to make explicit several hidden assumptions of these definitions, and identify potential issues and subtleties with them, while also holding the promise of formulating cleaner versions and future extension to entirely novel properties. Matvey Soloviev, Musard Balliu, Roberto Guanciale |
CSF | 3 |
| 2024 | HOL4P4: Mechanized Small-Step Semantics for P4abstractWe present the first semantics of the network data plane programming language P4 able to adequately capture all key features of P4 16 , the most recent version of P4, including external functions (externs) and concurrency. These features are intimately related since, in P4, extern invocations are the only points at which one execution thread can affect another. Reflecting P4’s lack of a general-purpose memory and the presence of multithreading the semantics is given in small-step style and eschews the use of a heap. In addition to the P4 language itself, we provide an architectural level semantics, which allows the composition of P4-programmed blocks, models end-to-end packet processing, and can take into account features such as arbitration and packet recirculation. A corresponding type system is provided with attendant progress, preservation, and type-soundness theorems. Semantics, type system, and meta-theory are formalized in the HOL4 theorem prover. From this formalization, we derive a HOL4 executable semantics that supports verified execution of programs with partially symbolic packets able to validate simple end-to-end program properties. Anoud Alshnakat, Didrik Lundberg, Roberto Guanciale, Mads Dam |
Proc. ACM Program. Lang. | 3 |
| 2023 | Formal Verification of Correctness and Information Flow Security for an In-Order Pipelined Processor
Roberto Guanciale, Mads Dam, Andreas Lööw |
FMCAD | 2 |
| 2023 | P4R-Type: A Verified API for P4 Control Plane ProgramsabstractSoftware-Defined Networking (SDN) significantly simplifies programming, reconfiguring, and optimizing network devices, such as switches and routers. The de facto standard for programming SDN devices is the P4 language. However, the flexibility and power of P4, and SDN more generally, gives rise to important risks. As a number of incidents at major cloud providers have shown, errors in SDN programs can compromise the availability of networks, leaving them in a non-functional state. The focus of this paper are errors in control-plane programs that interact with P4-enabled network devices via the standardized P4Runtime API. For clients of the P4Runtime API it is easy to make mistakes that may lead to catastrophic failures, despite the use of Google’s Protocol Buffers as an interface definition language. This paper proposes P4R-Type, a novel verified P4Runtime API for Scala that performs static checks for P4 control plane operations, ruling out mismatches between P4 tables, allowed actions, and action parameters. As a formal foundation of P4R-Type, we present the F P4R calculus and its typing system, which ensure that well-typed programs never get stuck by issuing invalid P4Runtime operations. We evaluate the safety and flexibility of P4R-Type with 3 case studies. To the best of our knowledge, this is the first work that formalises P4Runtime control plane applications, and a typing discipline ensuring the correctness of P4Runtime operations. Jens Kanstrup Larsen, Roberto Guanciale, Philipp Haller, Alceste Scalas |
Proc. ACM Program. Lang. | 2 |
| 2022 | Formally Verified Isolation of DMA
Jonas Haglund, Roberto Guanciale |
FMCAD | 2 |
| 2022 | Foundations and Tools in HOL4 for Analysis of Microarchitectural Out-of-Order Execution
Karl Palmskog, Xiaomo Yao, Roberto Guanciale, Mads Dam |
FMCAD | 4 |
| 2021 | On Compositional Information Flow Aware RefinementabstractThe concepts of information flow security and refinement are known to have had a troubled relationship ever since the seminal work of McLean. In this work we study refinements that support changes in data representation and semantics, including the addition of state variables that may induce new observational power or side channels. We propose a new epistemic approach to ignorance-preserving refinement where an abstract model is used as a specification of a system's permitted information flows, that may include the declassification of secret information. The core idea is to require that refinement steps must not induce observer knowledge that is not already available in the abstract model. Our study is set in the context of a class of shared variable multiagent models similar to interpreted systems in epistemic logic. We demonstrate the expressiveness of our framework through a series of small examples and compare our approach to existing, stricter notions of information-flow secure refinement based on bisimulations and noninterference preservation. Interestingly, noninterference preservation is not supported “out of the box” in our setting, because refinement steps may introduce new secrets that are independent of secrets already present at abstract level. To support verification, we first introduce a “cube-shaped” unwinding condition related to conditions recently studied in the context of value-dependent noninterference, kernel verification, and secure compilation. A fundamental problem with ignorance-preserving refinement, caused by the support for general data and observation refinement, is that sequential composability is lost. We propose a solution based on relational pre-and postconditions and illustrate its use together with unwinding on the oblivious RAM construction of Chung and Pass. Christoph Baumann, Mads Dam, Roberto Guanciale, Hamed Nemati |
CSF | 3 |
| 2021 | Refinement-Based Verification of Device-to-Device Information Flow
Roberto Guanciale, Mads Dam |
FMCAD | 2 |
| 2021 | Validation of Side-Channel Models via Observation RefinementabstractObservational models enable the analysis of information flow properties against side channels. Relational testing has been used to validate the soundness of these models by measuring the side channel on states that the model considers indistinguishable. However, unguided search can generate test states that are too similar to each other to invalidate the model. To address this we introduce observation refinement, a technique to guide the exploration of the state space to focus on hardware features of interest. We refine observational models to include fine-grained observations that characterize behavior that we want to exclude. States that yield equivalent refined observations are then ruled out, reducing the size of the space. We have extended an existing model validation framework, Scam-V, to support refinement. We have evaluated the usefulness of refinement for search guidance by analyzing cache coloring and speculative leakage in the ARMv8-A architecture. As a surprising result, we have exposed SiSCLoak, a new vulnerability linked to speculative execution in Cortex-A53. Pablo Buiras, Hamed Nemati, Andreas Lindner, Roberto Guanciale |
MICRO | 4 |
| 2021 | An abstract framework for choreographic testing
Alex Coto-Santiesteban, Roberto Guanciale, Emilio Tuosto |
J. Log. Algebraic Methods Program. | 2 |
| 2021 | PomCho: A tool chain for choreographic design
Roberto Guanciale, Emilio Tuosto |
Sci. Comput. Program. | 1 |
| 2020 | Validation of Abstract Side-Channel Models for Computer ArchitecturesabstractObservational models make tractable the analysis of information flow properties by providing an abstraction of side channels. We introduce a methodology and a tool, Scam-V, to validate observational models for modern computer architectures. We combine symbolic execution, relational analysis, and different program generation techniques to generate experiments and validate the models. An experiment consists of a randomly generated program together with two inputs that are observationally equivalent according to the model under the test. Validation is done by checking indistinguishability of the two inputs on real hardware by executing the program and analyzing the side channel. We have evaluated our framework by validating models that abstract the data-cache side channel of a Raspberry Pi 3 board with a processor implementing the ARMv8-A architecture. Our results show that Scam-V can identify bugs in the implementation of the models and generate test programs which invalidate the models due to hidden microarchitectural behavior. Hamed Nemati, Pablo Buiras, Andreas Lindner, Roberto Guanciale, Swen Jacobs |
CAV (1) | 4 |
| 2020 | InSpectre: Breaking and Fixing Microarchitectural Vulnerabilities by Formal AnalysisabstractThe recent Spectre attacks have demonstrated the fundamental insecurity of current computer microarchitecture. The attacks use features like pipelining, out-of-order and speculation to extract arbitrary information about the memory contents of a process. A comprehensive formal microarchitectural model capable of representing the forms of out-of-order and speculative behavior that can meaningfully be implemented in a high performance pipelined architecture has not yet emerged. Such a model would be very useful, as it would allow the existence and non-existence of vulnerabilities, and soundness of countermeasures to be formally established. This paper presents such a model targeting single core processors. The model is intentionally very general and provides an infrastructure to define models of real CPUs. It incorporates microarchitectural features that underpin all known Spectre vulnerabilities. We use the model to elucidate the security of existing and new vulnerabilities, as well as to formally analyze the effectiveness of proposed countermeasures. Specifically, we discover three new (potential) vulnerabilities, including a new variant of Spectre v4, a vulnerability on speculative fetching, and a vulnerability on out-of-order execution, and analyze the effectiveness of existing countermeasures including constant time and serializing instructions. Roberto Guanciale, Musard Balliu, Mads Dam |
CCS | 1 |
| 2020 | Choreographic Development of Message-Passing Applications - A Tutorial
Alex Coto-Santiesteban, Roberto Guanciale, Emilio Tuosto |
COORDINATION | 2 |
| 2020 | On Testing Message-Passing Components
Alex Coto-Santiesteban, Roberto Guanciale, Emilio Tuosto |
ISoLA (1) | 2 |
| 2020 | Hoare-Style Logic for Unstructured Programs
Didrik Lundberg, Roberto Guanciale, Andreas Lindner, Mads Dam |
SEFM | 2 |
| 2019 | DiRPOMS: Automatic Checker of Distributed Realizability of POMSets
Roberto Guanciale |
COORDINATION | 1 |
| 2019 | Realisability of pomsets
Roberto Guanciale, Emilio Tuosto |
J. Log. Algebraic Methods Program. | 1 |
| 2019 | TrABin: Trustworthy analyses of binaries
Andreas Lindner, Roberto Guanciale, Roberto Metere |
Sci. Comput. Program. | 2 |
| 2016 | Cache Storage Channels: Alias-Driven Attacks and Verified CountermeasuresabstractCaches pose a significant challenge to formal proofs of security for code executing on application processors, as the cache access pattern of security-critical services may leak secret information. This paper reveals a novel attack vector, exposing a low-noise cache storage channel that can be exploited by adapting well-known timing channel analysis techniques. The vector can also be used to attack various types of security-critical software such as hypervisors and application security monitors. The attack vector uses virtual aliases with mismatched memory attributes and self-modifying code to misconfigure the memory system, allowing an attacker to place incoherent copies of the same physical address into the caches and observe which addresses are stored in different levels of cache. We design and implement three different attacks using the new vector on trusted services and report on the discovery of an 128-bit key from an AES encryption service running in TrustZone on Raspberry Pi 2. Moreover, we subvert the integrity properties of an ARMv7 hypervisor that was formally verified against a cache-less model. We evaluate well-known countermeasures against the new attack vector and propose a verification methodology that allows to formally prove the effectiveness of defence mechanisms on the binary code of the trusted software. Roberto Guanciale, Hamed Nemati, Christoph Baumann, Mads Dam |
IEEE Symposium on Security and Privacy | 1 |
| 2016 | Provably secure memory isolation for Linux on ARMabstractThe isolation of security critical components from an untrusted OS allows to both protect applications and to harden the OS itself. Virtualization of the memory subsystem is a key component to provide such isolation. We present the design, implementation and verification of a memory virtualization platform for ARMv7-A processors. The design is based on direct paging, an MMU virtualization mechanism previously introduced by Xen. It is shown that this mechanism can be implemented using a compact design, suitable for formal verification down to a low level of abstraction, without penalizing system performance. The verification is performed using the HOL4 theorem prover and uses a detailed model of the processor. We prove memory isolation along with information flow security for an abstract top-level model of the virtualization mechanism. The abstract model is refined down to a transition system closely resembling a C implementation. Additionally, it is demonstrated how the gap between the low-level abstraction and the binary level-can be filled, using tools that check Hoare contracts. The virtualization mechanism is demonstrated on real hardware via a hypervisor hosting Linux and supporting a tamper-proof run-time monitor that provably prevents code injection in the Linux guest. Roberto Guanciale, Hamed Nemati, Mads Dam, Christoph Baumann |
J. Comput. Secur. | 1 |
| 2015 | Trustworthy Prevention of Code Injection in Linux on Embedded DevicesabstractWe present MProsper, a trustworthy system to prevent code injection in Linux on embedded devices. MProsper is a formally verified run-time monitor, which forces an untrusted Linux to obey the executable space protection policy; a memory area can be either executable or writable, but cannot be both. The executable space protection allows the MProsper’s monitor to intercept every change to the executable code performed by a user application or by the Linux kernel. On top of this infrastructure, we use standard code signing to prevent code injection. MProsper is deployed on top of the Prosper hypervisor and is implemented as an isolated guest. Thus MProsper inherits the security property verified for the hypervisor: (i) Its code and data cannot be tampered by the untrusted Linux guest and (ii) all changes to the memory layout is intercepted, thus enabling MProsper to completely mediate every operation that can violate the desired security property. The verification of the monitor has been performed using the HOL4 theorem prover and by extending the existing formal model of the hypervisor with the formal specification of the high level model of the monitor. These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves. Hind Chfouka, Hamed Nemati, Roberto Guanciale, Mads Dam, Patrik Ekdahl |
ESORICS (1) | 3 |
| 2015 | Privacy preserving business process matchingabstractBusiness process matching is the activity of checking whether a given business process can interoperate with another one in a correct manner. In case the check fails, it is desirable to obtain information about how the first process can be corrected with as few modifications as possible to achieve interoperability. In case the two business processes belong to two separate enterprises that want to build a virtual enterprise, business process matching based on revealing the business processes poses a clear threat to privacy, as it may expose sensitive information about the inner operation of the enterprises. In this paper we propose a solution to this problem for business processes described by means of service automata. We propose a measure for similarity between service automata and use this measure to devise an algorithm that constructs the most similar automaton to the first one that can interoperate with the second one. To achieve privacy, we implement this algorithm in the programming language SecreC, executing on the Sharemind platform for secure multiparty computation. As a result, only the correction information is leaked to the first enterprise and no more. Dilian Gurov, Peeter Laud, Roberto Guanciale |
PST | 3 |
| 2015 | Trustworthy Virtualization of the ARMv7 Memory Subsystem
Hamed Nemati, Roberto Guanciale, Mads Dam |
SOFSEM | 2 |
| 2014 | Automating Information Flow Analysis of Low Level CodeabstractLow level code is challenging: It lacks structure, it uses jumps and symbolic addresses, the control flow is often highly optimized, and registers and memory locations may be reused in ways that make typing extremely challenging. Information flow properties create additional complications: They are hyperproperties relating multiple executions, and the possibility of interrupts and concurrency, and use of devices and features like memory-mapped I/O requires a departure from the usual initial-state final-state account of noninterference. In this work we propose a novel approach to relational verification for machine code. Verification goals are expressed as equivalence of traces decorated with observation points. Relational verification conditions are propagated between observation points using symbolic execution, and discharged using first-order reasoning. We have implemented an automated tool that integrates with SMT solvers to automate the verification task. The tool transforms ARMv7 binaries into an intermediate, architecture-independent format using the BAP toolset by means of a verified translator. We demonstrate the capabilities of the tool on a separation kernel system call handler, which mixes hand-written assembly with gcc-optimized output, a UART device driver and a crypto service modular exponentiation routine. Musard Balliu, Mads Dam, Roberto Guanciale |
CCS | 3 |
| 2014 | Private intersection of regular languagesabstractThis paper addresses the problem of computing the intersection of regular languages in a privacy-preserving fashion. Private set intersection has been addressed earlier in the literature, but for finite sets only. We discuss the various possibilities for solving the problem efficiently, and argue for an approach based on minimal deterministic finite automata (DFA) as a suitable, non-leaking representation of regular language intersection. We propose two different algorithms for DFA minimization in a secure multiparty computation setting, illustrating different aspects of programming based on universal composability and the constraints this sets on existing algorithms. The implementation of our algorithms is based on the programming language SECREC, executing on the SHAREMIND platform for secure multiparty computation. As one application domain we consider fusion of virtual enterprise business processes. Roberto Guanciale, Dilian Gurov, Peeter Laud |
PST | 1 |
| 2013 | Formal verification of information flow security for a simple arm-based separation kernelabstractA separation kernel simulates a distributed environment using a single physical machine by executing partitions in isolation and appropriately controlling communication among them. We present a formal verification of information flow security for a simple separation kernel for ARMv7. Previous work on information flow kernel security leaves communication to be handled by model-external means, and cannot be used to draw conclusions when there is explicit interaction between partitions. We propose a different approach where communication between partitions is made explicit and the information flow is analyzed in the presence of such a channel. Limiting the kernel functionality as much as meaningfully possible, we accomplish a detailed analysis and verification of the system, proving its correctness at the level of the ARMv7 assembly. As a sanity check we show how the security condition is reduced to noninterference in the special case where no communication takes place. The verification is done in HOL4 taking the Cambridge model of ARM as basis, transferring verification tasks on the actual assembly code to an adaptation of the BAP binary analysis tool developed at CMU. Mads Dam, Roberto Guanciale, Narges Khakpour, Hamed Nemati, Oliver Schwarz |
CCS | 2 |
| 2010 | BPMN Modelling of Services with Dynamically Reconfigurable Transactions
Laura Bocchi, Roberto Guanciale, Daniele Strollo, Emilio Tuosto |
ICSOC | 2 |
| 2010 | Event based choreography
Vincenzo Ciancia, Gian-Luigi Ferrari 0002, Roberto Guanciale, Daniele Strollo |
Sci. Comput. Program. | 3 |
| 2008 | Checking Correctness of Transactional Behaviors
Vincenzo Ciancia, Gian-Luigi Ferrari 0002, Roberto Guanciale, Daniele Strollo |
FORTE | 3 |
| 2007 | Coordination Via Types in an Event-Based Framework
Gian-Luigi Ferrari 0002, Roberto Guanciale, Daniele Strollo, Emilio Tuosto |
FORTE | 2 |
| 2006 | JSCL: A Middleware for Service Coordination
Gian-Luigi Ferrari 0002, Roberto Guanciale, Daniele Strollo |
FORTE | 2 |
| 2006 | Event Based Service Coordination over Dynamic and Heterogeneous Networks
Gian-Luigi Ferrari 0002, Roberto Guanciale, Daniele Strollo |
ICSOC | 2 |