2015
DOI: 10.1145/2813885.2737958
|View full text |Cite
|
Sign up to set email alerts
|

Verdi: a framework for implementing and formally verifying distributed systems

Abstract: Distributed systems are difficult to implement correctly because they must handle both concurrency and failures: machines may crash at arbitrary points and networks may reorder, drop, or duplicate packets. Further, their behavior is often too complex to permit exhaustive testing. Bugs in these systems have led to the loss of critical data and unacceptable service outages.We present Verdi, a framework for implementing and formally verifying distributed systems in Coq. Verdi formalizes various network semantics … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
23
0

Year Published

2017
2017
2023
2023

Publication Types

Select...
4
4
1

Relationship

0
9

Authors

Journals

citations
Cited by 59 publications
(23 citation statements)
references
References 24 publications
0
23
0
Order By: Relevance
“…Several recent major efforts have fully mechanised and verified implementations of more traditional consensus protocols, such as versions of Paxos [7,13,18,25,29], Raft [35,37], or the classical Two-Phase Commit [31,34]. Even though none of those works consider blockchain consensus, we believe, many of those frameworks can handle it, as long as they can adopt our model and support reasoning about block forests.…”
Section: Verification Of Distributed Consensusmentioning
confidence: 99%
“…Several recent major efforts have fully mechanised and verified implementations of more traditional consensus protocols, such as versions of Paxos [7,13,18,25,29], Raft [35,37], or the classical Two-Phase Commit [31,34]. Even though none of those works consider blockchain consensus, we believe, many of those frameworks can handle it, as long as they can adopt our model and support reasoning about block forests.…”
Section: Verification Of Distributed Consensusmentioning
confidence: 99%
“…Much work has been done on specifying and reasoning about distributed systems [41,27,16,19,20,16,18,30,67,29,68] (to only cite a few).…”
Section: Related Workmentioning
confidence: 99%
“…More recently, Wilcox et al developed Verdi [67], which is a framework, similar to ours, to develop and reason about distributed systems using Coq. As in our framework they do not have gaps between the code they verify and the code they run: they run OCaml code that they extract from Coq.…”
Section: Fvnmentioning
confidence: 99%
“…FSCQ [11] builds a crash safe file system using an encoding of crash Hoare logic in Coq. With formal semantics in proof systems, there are more verified system developed such as Verdi [57], Verve [58], Bedrock [12] and Ironclad [26].…”
Section: Related Formal Semantics In Proof Systemsmentioning
confidence: 99%