Synchronizing clocks in the presence of faults
Journal of the ACM (JACM)
A construction of distributed reference counting
Acta Informatica
Journal of Automated Reasoning
DISC '00 Proceedings of the 14th International Conference on Distributed Computing
Mechanical Verification of a Generalized Protocol for Byzantine Fault Tolerant Clock Synchronization
Proceedings of the Second International Symposium on Formal Techniques in Real-Time and Fault-Tolerant Systems
Mechanical Verification of Clock Synchronization Algorithms
FTRTFT '98 Proceedings of the 5th International Symposium on Formal Techniques in Real-Time and Fault-Tolerant Systems
CADE-18 Proceedings of the 18th International Conference on Automated Deduction
A new fault-tolerant algorithm for clock synchronization
PODC '84 Proceedings of the third annual ACM symposium on Principles of distributed computing
Understanding Protocols for Byzantine Clock Synchronization
Understanding Protocols for Byzantine Clock Synchronization
Calife: A Generic Graphical User Interface for Automata Tools
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
We report on an experiment in combining the theorem prover Isabelle with automatic first-order arithmetic provers to increase automation on the verification of distributed protocols. As a case study for the experiment we verify several averaging clock synchronization algorithms. We present a formalization of Schneider's generalized clock synchronization protocol [Schneider, F. B., Understanding protocols for Byzantine clock synchronization, Technical Report TR 87-859, Cornell University (1987). URL citeseer.ist.psu.edu/schneider87understanding.html] in Isabelle/HOL. Then, we verify that the convergence functions used in two clock synchronization algorithms, namely, the Interactive Convergence Algorithm (ICA) of Lamport and Melliar-Smith [Lamport, L. and P. M. Melliar-Smith, Synchronizing clocks in the presence of faults, J. ACM 32 (1985), pp. 52-78] and the Fault-tolerant Midpoint algorithm of Lundelius-Lynch [Lundelius, J. and N. Lynch, A new fault-tolerant algorithm for clock synchronization, in: Proceedings of PODC '84 (1984), pp. 75-88], satisfy Schneider's general conditions for correctness. The proofs are completely formalized in Isabelle/HOL. We identify the parts of the proofs which are not fully automatically proven by Isabelle built-in tactics and show that these proofs can be handled by automatic first-order provers with support for arithmetic like ICS and CVC Lite.