Using simulated execution in verifying distributed algorithms

  • Authors:
  • Toh Ne Win;Michael D. Ernst;Stephen J. Garland;Dilsun Kırlı;Nancy A. Lynch

  • Affiliations:
  • MIT CSAIL, the Stata Center, 77 Massachusetts Avenue, 02139, Cambridge, MA, USA;MIT CSAIL, the Stata Center, 77 Massachusetts Avenue, 02139, Cambridge, MA, USA;MIT CSAIL, the Stata Center, 77 Massachusetts Avenue, 02139, Cambridge, MA, USA;MIT CSAIL, the Stata Center, 77 Massachusetts Avenue, 02139, Cambridge, MA, USA;MIT CSAIL, the Stata Center, 77 Massachusetts Avenue, 02139, Cambridge, MA, USA

  • Venue:
  • International Journal on Software Tools for Technology Transfer (STTT)
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

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 .