skip to main content
10.1145/3587828.3587835acmotherconferencesArticle/Chapter ViewAbstractPublication PagesicscaConference Proceedingsconference-collections
research-article

Formal Specification and Model Checking of Raft Leader Election in Maude*

Published:20 June 2023Publication History

ABSTRACT

Raft is widely known as one of the distributed consensus protocols and is used to build highly available and strongly consistent services. Using Maude, we formally specify the leader election in Raft and conduct model checking to check whether the protocol enjoys the Election Safety Property that at most one leader can be elected in each logical time, which is one of the properties that Raft is expected to guarantee. Our model checking experiments show that the protocol enjoys the property under the condition that we limit the logical time and the number of servers. We also aim to promote understanding of the leader election in Raft.

References

  1. Diego Ongaro and John Ousterhout. 2014. In search of an understandable consensus algorithm. In Proceedings of the 2014 USENIX conference on USENIX Annual Technical Conference (USENIX ATC'14). USENIX Association, USA, 305–320. https://dl.acm.org/doi/10.5555/2643634.2643666Google ScholarGoogle Scholar
  2. etcd. [n.d.]. https://etcd.io.Google ScholarGoogle Scholar
  3. CockroachDB. [n.d.]. https://github.com/cockroachdb/cockroach.Google ScholarGoogle Scholar
  4. YugabyteDB. [n.d.]. https://github.com/yugabyte/yugabyte-db.Google ScholarGoogle Scholar
  5. TiKV. [n.d.]. https://github.com/pingcap/tidb.Google ScholarGoogle Scholar
  6. Yves Bertot and Pierre Castéran. 2013. Interactive theorem proving and program development: Coq'Art: the calculus of inductive constructions. Springer Science & Business Media.Google ScholarGoogle Scholar
  7. M. Clavel, , Ed., All About Maude, ser. Lecture Notes in Computer Science. Springer, 2007, vol. 4350.Google ScholarGoogle Scholar
  8. Saksham Chand, Yanhong A Liu, and Scott D Stoller. Formal verification of multi-paxos for distributed consensus. In International Symposium on Formal Methods, pages 119–136. Springer, 2016.Google ScholarGoogle Scholar
  9. Lamport, L. Specifying Systems, The TLA+ Language and Tools for Hardware and Software Engineers. Addison-Wesley, 2002.Google ScholarGoogle Scholar
  10. Diego Ongaro. 2014. Consensus: Bridging Theory and Practice. Ph.D. Dissertation. Stanford University. https://web.stanford.edu/∼ouster/cgi-bin/papers/OngaroPhD.pdfGoogle ScholarGoogle Scholar
  11. Doug Woos, James R. Wilcox, Steve Anton, Zachary Tatlock, Michael D. Ernst, and Thomas Anderson. 2016. Planning for change in a formal verification of the raft consensus protocol. In Proceedings of the 5th ACM SIGPLAN Conference on Certified Programs and Proofs (CPP 2016). Association for Computing Machinery, New York, NY, USA, 154–165. https://doi.org/10.1145/2854065.2854081Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Formal Specification and Model Checking of Raft Leader Election in Maude*

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Other conferences
      ICSCA '23: Proceedings of the 2023 12th International Conference on Software and Computer Applications
      February 2023
      385 pages
      ISBN:9781450398589
      DOI:10.1145/3587828

      Copyright © 2023 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 20 June 2023

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed limited
    • Article Metrics

      • Downloads (Last 12 months)44
      • Downloads (Last 6 weeks)0

      Other Metrics

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    HTML Format

    View this article in HTML Format .

    View HTML Format