Using simulated execution in verifying distributed algorithms

Toh Ne Win, Michael D. Ernst, Stephen J. Garland, Dilsun Kırlı and Nancy A. Lynch

View Related Documents

Abstract

This paper presents a methodology for using simulated execution to assist a theorem prover in verifying safety properties of distributed systems. Execution-based techniques such as testing can increase confidence in an implementation, provide intuition about behavior, and detect simple errors quickly. They cannot by themselves demonstrate correctness. However, they can aid theorem provers by suggesting necessary lemmas and providing tactics to structure proofs. This paper describes the use of these techniques in a machine-checked proof of correctness of the Paxos algorithm for distributed consensus .

Keywords  Theorem proving - Invariant detection - Static analysis - Dynamic analysis

Fulltext Preview

Image of the first page of the fulltext document