Anvil: Verifying liveness of cluster management controllers

X Sun, W Ma, JT Gu, Z Ma, T Chajed, J Howell… - … USENIX Symposium on …, 2024 - usenix.org
Modern clouds depend crucially on an extensible ecosystem of thousands of controllers,
each managing critical systems (eg, a ZooKeeper cluster). A controller continuously …

Verus: A practical foundation for systems verification

A Lattuada, T Hance, J Bosamiya, M Brun… - Proceedings of the …, 2024 - dl.acm.org
Formal verification is a promising approach to eliminate bugs at compile time, before they
ship. Indeed, our community has verified a wide variety of system software. However, much …

{DistAI}:{Data-Driven} automated invariant learning for distributed protocols

J Yao, R Tao, R Gu, J Nieh, S Jana… - 15th USENIX symposium …, 2021 - usenix.org
Distributed systems are notoriously hard to implement correctly due to non-determinism.
Finding the inductive invariant of the distributed protocol is a critical step in verifying the …

{DuoAI}: Fast, automated inference of inductive invariants for verifying distributed protocols

J Yao, R Tao, R Gu, J Nieh - 16th USENIX Symposium on Operating …, 2022 - usenix.org
Distributed systems are complex and difficult to build correctly. Formal verification can
provably rule out bugs in such systems, but finding an inductive invariant that implies the …

Ivy: A multi-modal verification tool for distributed algorithms

KL McMillan, O Padon - … : 32nd International Conference, CAV 2020, Los …, 2020 - Springer
Ivy is a multi-modal verification tool for correct design and implementation of distributed
protocols and algorithms, supporting modular specification, implementation and proof. Ivy …

Deductive verification in decidable fragments with ivy

KL McMillan, O Padon - … Analysis: 25th International Symposium, SAS 2018 …, 2018 - Springer
This paper surveys the work to date on Ivy, a language and a tool for the formal specification
and verification of distributed systems. Ivy supports deductive verification using automated …

Storage Systems are Distributed Systems (So Verify Them That {Way!})

T Hance, A Lattuada, C Hawblitzel, J Howell… - … USENIX Symposium on …, 2020 - usenix.org
To verify distributed systems, prior work introduced a methodology for verifying both the
code running on individual machines and the correctness of the overall system when those …

Pretend synchrony: synchronous verification of asynchronous distributed programs

K v. Gleissenthall, RG Kıcı, A Bakst, D Stefan… - Proceedings of the ACM …, 2019 - dl.acm.org
We present pretend synchrony, a new approach to verifying distributed systems, based on
the observation that while distributed programs must execute asynchronously, we can often …

A multiparty session typing discipline for fault-tolerant event-driven distributed programming

M Viering, R Hu, P Eugster, L Ziarek - Proceedings of the ACM on …, 2021 - dl.acm.org
This paper presents a formulation of multiparty session types (MPSTs) for practical fault-
tolerant distributed programming. We tackle the challenges faced by session types in the …

Verifying message-passing programs with dependent behavioural types

A Scalas, N Yoshida, E Benussi - … of the 40th ACM SIGPLAN Conference …, 2019 - dl.acm.org
Concurrent and distributed programming is notoriously hard. Modern languages and toolkits
ease this difficulty by offering message-passing abstractions, such as actors (eg, Erlang …