ACM SIGCOMM Computer Communication Review · 2012 · 108 citations · 11 references
ComputingComputer ScienceComputer SystemsFault-tolerant ComputingFault-tolerant SystemsFormal MethodsAlloy DesignAlloysDisruptionsReachabilityRing ChordsRing Structure
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.
11
Ion Stoica, Robert Morris, David R. Karger et al. · 2001 · 9.7K citations
Software abstractions: logic, language and analysis
Choice Reviews Online · 2007 · 1.5K citations
Implementing declarative overlays
Boon Thau Loo, Tyson Condie, Joseph M. Hellerstein et al. · ACM SIGOPS Operating Systems Review · 2005 · 299 citations · Full text