Formal Analysis of a Distributed Algorithm for Tracking Progress

  • Martín Abadi
  • Frank McSherry
  • Derek G. Murray
  • Thomas L. Rodeheffer
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7892)


Tracking the progress of computations can be both important and delicate in distributed systems. In a recent distributed algorithm for this purpose, each processor maintains a delayed view of the pending work, which is represented in terms of points in virtual time. This paper presents a formal specification of that algorithm in the temporal logic TLA, and describes a mechanically verified correctness proof of its main properties.


  1. 1.
    Bonichon, R., Delahaye, D., Doligez, D.: Zenon: An extensible automated theorem prover producing checkable proofs. In: Dershowitz, N., Voronkov, A. (eds.) LPAR 2007. LNCS (LNAI), vol. 4790, pp. 151–165. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  2. 2.
    Chandramouli, B., Goldstein, J., Maier, D.: On-the-fly progress detection in iterative stream queries. Proc. VLDB Endow. 2(1), 241–252 (2009)Google Scholar
  3. 3.
    Chandy, K.M., Misra, J.: Proofs of distributed algorithms: An exercise. In: Hoare, C.A.R. (ed.) Developments in Concurrency and Communication, pp. 305–332. Addison-Wesley, Boston (1990)Google Scholar
  4. 4.
    Chaudhuri, K., Doligez, D., Lamport, L., Merz, S.: Verifying safety properties with the tLA +  proof system. In: Giesl, J., Hähnle, R. (eds.) IJCAR 2010. LNCS, vol. 6173, pp. 142–148. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  5. 5.
    Jefferson, D.R.: Virtual time. ACM Trans. Program. Lang. Syst. 7(3), 404–425 (1985)MathSciNetCrossRefGoogle Scholar
  6. 6.
  7. 7.
    Lamport, L.: Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers. Addison-Wesley, Boston (2002)Google Scholar
  8. 8.
    Merz, S., Vanzetto, H.: Automatic verification of TLA +  proof obligations with SMT solvers. In: Bjørner, N., Voronkov, A. (eds.) LPAR-18 2012. LNCS, vol. 7180, pp. 289–303. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  9. 9.
  10. 10.
    Paulson, L.C.: Isabelle: A Generic Theorem Prover. LNCS, vol. 828. Springer, Heidelberg (1994)Google Scholar
  11. 11.
    Rodeheffer, T.L.: The Naiad clock protocol: Specification, model checking, and correctness proof. Tech. Rep. MSR-TR-2013-20, Microsoft Research, Redmond (February 2013),
  12. 12.
    Samadi, B.: Distributed Simulation, Algorithms and Performancs Analysis. Ph.D. thesis, University of California, Los Angeles (1985), Tech. Rep. CSD-850006,
  13. 13.
    Tucker, P.A., Maier, D., Sheard, T., Fegaras, L.: Exploiting punctuation semantics in continuous data streams. IEEE Trans. Knowl. Data Eng. 15(3), 555–568 (2003)CrossRefGoogle Scholar

Copyright information

© IFIP International Federation for Information Processing 2013

Authors and Affiliations

  • Martín Abadi
    • 1
    • 2
  • Frank McSherry
    • 1
  • Derek G. Murray
    • 1
  • Thomas L. Rodeheffer
    • 1
  1. 1.Microsoft Research Silicon ValleyUSA
  2. 2.University of CaliforniaSanta CruzUSA

Personalised recommendations