Article,

Using Simulated Execution in Verifying Distributed Algorithms

, , , , and .
Software Tools for Technology Transfer, (2003)

Abstract

This paper presents a methodology for proving properties of distributed systems in which simulated execution assists and enhances formal proofs. It is well known that techniques such as testing can increase con dence in an implementation, but cannot by themselves demonstrate correctness. In addition to detecting simple errors quickly and to providing intuition about behavior, execution-based techniques can also reveal unexpected properties, suggest necessary lemmas, and provide information to structure proofs. This paper also describes the use of these techniques in a machine-checked proof of correctness of the Paxos algorithm for distributed consensus.

Tags

Users

  • @giuliano.losa

Comments and Reviews