Chord: A scalable peer-to-peer lookup service for internet applications
Proceedings of the 2001 conference on Applications, technologies, architectures, and protocols for computer communications
Analysis of the evolution of peer-to-peer systems
Proceedings of the twenty-first annual symposium on Principles of distributed computing
Chord: a scalable peer-to-peer lookup protocol for internet applications
IEEE/ACM Transactions on Networking (TON)
Implementing declarative overlays
Proceedings of the twentieth ACM symposium on Operating systems principles
Software Abstractions: Logic, Language, and Analysis
Software Abstractions: Logic, Language, and Analysis
Non-transitive connectivity and DHTs
WORLDS'05 Proceedings of the 2nd conference on Real, Large Distributed Systems - Volume 2
Spin model checker, the: primer and reference manual
Spin model checker, the: primer and reference manual
CrystalBall: predicting and preventing inconsistencies in deployed distributed systems
NSDI'09 Proceedings of the 6th USENIX symposium on Networked systems design and implementation
Life, death, and the critical transition: finding liveness bugs in systems code
NSDI'07 Proceedings of the 4th USENIX conference on Networked systems design & implementation
Scalable consistency in Scatter
SOSP '11 Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles
A statistical theory of chord under churn
IPTPS'05 Proceedings of the 4th international conference on Peer-to-Peer Systems
A mechanized model for CAN protocols
FASE'13 Proceedings of the 16th international conference on Fundamental Approaches to Software Engineering
Sequence numbers do not guarantee loop freedom: AODV can yield routing loops
Proceedings of the 16th ACM international conference on Modeling, analysis & simulation of wireless and mobile systems
Hi-index | 0.00 |
Correctness of the Chord ring-maintenance protocol would mean that the protocol can eventually repair all disruptions in the ring structure, given ample time and no further disruptions while it is working. In other words, it is "eventual reachability." Under the same assumptions about failure behavior as made in the Chord papers, no published version of Chord is correct. This result is based on modeling the protocol in Alloy and analyzing it with the Alloy Analyzer. By combining the right selection of pseudocode and textual hints from several papers, and fixing flaws revealed by analysis, it is possible to get a version that may be correct. The paper also discusses the significance of these results, describes briefly how Alloy is used to model and reason about Chord, and compares Alloy analysis to model-checking.