Mechanically Verifying the Fundamental Liveness Property of the Chord Protocol - Archive ouverte HAL Access content directly
Conference Papers Year : 2019

Mechanically Verifying the Fundamental Liveness Property of the Chord Protocol

Abstract

Chord is a protocol providing a scalable distributed hash table over an underlying peer-to-peer network. It is very popular due to its simplicity, performance and claimed correctness. However, the original version of the Chord maintenance protocol, presented with an informal proof of correctness, was since then shown to be in fact incorrect. It is actually tricky to come up with a provably-correct version as the protocol combines data structures, asynchronous communication, concurrency, and fault tolerance. Additionally, the correctness property amounts to a form of stabilization, a particular kind of liveness property. Previous work only addressed automated proofs of safety; and pen-and-paper, or automated but much bounded, proofs of stabilization. In this article, we report on the first mechanized proof of the liveness property for Chord. Furthermore, our proof addresses the full parameterized version of the protocol, weakens previously-devised invariants and operating assumptions, and is essentially automated (requiring limited effort when manual assistance is needed).
Fichier principal
Vignette du fichier
final-fixed2.pdf (505.61 Ko) Télécharger le fichier
Origin : Files produced by the author(s)
Loading...

Dates and versions

hal-02332531 , version 1 (24-10-2019)

Identifiers

Cite

Jean-Paul Bodeveix, Julien Brunel, David Chemouil, M Filali. Mechanically Verifying the Fundamental Liveness Property of the Chord Protocol. 23rd International Symposium on Formal Methods (FM 2019), FME: Formal Methods Europe, Oct 2019, Porto, Portugal. pp.45-63, ⟨10.1007/978-3-030-30942-8_5⟩. ⟨hal-02332531⟩
162 View
271 Download

Altmetric

Share

Gmail Facebook X LinkedIn More