We present the design of a typed assembly language called TALT that supports heterogeneous tuples, disjoint sums, and a general account of addressing modes. TALT also implements t...
The combination of message passing and locking to protect shared state is a useful concurrency pattern. However, programs that employ this pattern are susceptible to deadlock. That...
Security automata are a convenient way to describe security policies. Their typical use is to monitor the execution of an application, and to interrupt it as soon as the security p...
This paper presents a case study in modelling and verifying the Linux Virtual File System (VFS). Our work is set in the context of Hoare’s verification grand challenge and, in p...
Remote trusting aims at verifying the “healthy” execution of a program running on an untrusted client that communicates with a trusted server via network connection. After giv...
Mariano Ceccato, Mila Dalla Preda, Jasvir Nagra, C...