On Efficient Models for Model Checking Message-Passing Distributed Protocols
The complexity of distributed algorithms, such as state machine replication, motivates the use of formal methods to assist correctness verification. The design of the formal model of an algorithm directly affects the efficiency of the analysis. Therefore, it is desirable that this model does not add “unnecessary” complexity to the analysis. In this paper, we consider a general message-passing (MP) model of distributed algorithms and compare different ways of modeling the message traffic. We prove that the different MP models are equivalent with respect to the common properties of distributed algorithms. Therefore, one can select the model which is best suited for the applied verification technique.
We consider MP models which differ regarding whether (1) the event of message delivery can be interleaved with other events and (2) a computation event must consume all messages that have been delivered after the last computation event of the same process. For generalized MP distributed protocols and especially focusing on fault-tolerance, we show that our proposed model (without interleaved delivery events and with relaxed semantics of computation events) is significantly more efficient for explicit state model checking. For example, the model size of the Paxos algorithm is 1/13th that of existing equivalent MP models.
- 2.Benzel, T., et al.: Design, Deployment, and Use of the Deter Testbed. In: Proc. DETER Community Workshop on Cyber Security Experimentation and Test (2007)Google Scholar
- 3.Bokor, P., Serafini, M., Suri, N., Veith, H.: Role-Based Symmetry Reduction of Fault-tolerant Distributed Protocols with Language Support. In: Proc. ICFEM, pp. 147–166 (2009)Google Scholar
- 5.Chandra, T.D., et al.: Paxos Made Live: An Engineer. Persp. In: Proc. PODC, pp. 398–407 (2007)Google Scholar
- 7.Charron-Bost, B., Schiper, A.: The Heard-Of Model: Computing in Distributed Systems with Benign Failures. Distr. Comp. (to Appear, 2009)Google Scholar
- 8.Clarke, E., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (2000)Google Scholar
- 9.Dill, D.L., et al.: Protocol Verif. as a Hardware Design Aid. In: Proc. ICCD, pp. 522–525 (1992)Google Scholar
- 12.Lamport, L.: What good is Temporal Logic? In: Proc. Inf. Processing, pp. 657–667 (1983)Google Scholar
- 14.Yang, J., et al.: MODIST: Transp. MC of Unmodif. Distr. Sys. In: Proc. NSDI, pp. 213–228 (2009)Google Scholar