Verifying Recurrence Properties in Self-stabilization by Checking the Absence of Finite Counterexamples

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9212)


A performance-related property of a system can be defined as the ratio of states satisfying some condition in each execution of the system, which we signify as the recurrence of the condition in the execution. In this work, we concern self-stabilization with respect to this property: the convergence to an execution that guarantees a minimum recurrence of a condition. For a system exhibiting infinite executions, it may not be straightforward to verify that the system satisfies the property, while considering the convergence as well. Towards simplifying such a verification, we show that for each system violating the property, there exists a finite execution prefix that is a counterexample with a reasonably short length. Furthermore, we exploit model checking to verify the absence of such counterexamples, to conclude that a system satisfies its property. We apply this approach by using the nuXmv model checker to analyze the service time of a self-stabilizing mutual exclusion algorithm having a finite state space, and running over many topologies.


Self-stabilization Recurrence Automatic verification Finite counterexample 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Dolev, S.: Self-Stabilization. The MIT Press (2000)Google Scholar
  2. 2.
    Dijkstra, E.W.: Self-Stabilizing Systems in Spite of Distributed Control. Communications of the ACM 17(11) (1974)Google Scholar
  3. 3.
    Jubran, O., Theel, O.: Brief announcement: introducing recurrence in self-stabilization. In: [20]Google Scholar
  4. 4.
    Jubran, O., Theel, O.: Introducing Recurrence in Self-Stabilization (Revised Version). Report No. 101 of SFB/TR 14 AVACS, April 2015.
  5. 5.
    Kravchik, A., Kutten, S.: Time optimal synchronous self stabilizing spanning tree. In: Afek, Y. (ed.) DISC 2013. LNCS, vol. 8205, pp. 91–105. Springer, Heidelberg (2013) CrossRefGoogle Scholar
  6. 6.
    Dubois, S., Guerraoui, R.: Introducing Speculation in Self-Stabilization - An Application to Mutual Exclusion. CoRR, abs/1302.2217 (2013)Google Scholar
  7. 7.
    Boulinier, C., Petit, F., Villain, V.: When graph theory helps self-stabilization. In: Proceedings of the 23rd ACM Symposium on Principles of Distributed Computing - PODC. ACM (2004)Google Scholar
  8. 8.
    Datta, A.K., Larmore, L., Vemula, P.: Self-Stabilizing Leader Election in Optimal Space under an Arbitrary Scheduler. Theoretical Computer Science 412(40), 5541–5561 (2011)MathSciNetCrossRefMATHGoogle Scholar
  9. 9.
    Dhama, A., Theel, O.: A tranformational approach for designing scheduler-oblivious self-stabilizing algorithms. In: Dolev, S., Cobb, J., Fischer, M., Yung, M. (eds.) SSS 2010. LNCS, vol. 6366, pp. 80–95. Springer, Heidelberg (2010) CrossRefGoogle Scholar
  10. 10.
    Klinkhamer, A., Ebnenasir, A.: Synthesizing self-stabilization through superposition and backtracking. In: [20]Google Scholar
  11. 11.
    Faghih, F., Bonakdarpour, B.: SMT-based synthesis of distributed self-stabilizing systems. In: [20]Google Scholar
  12. 12.
    de Moura, L.M., Bjørner, N.: Satisfiability Modulo Theories: Introduction and Applications. Communic. of the ACM 54(9), 69–77 (2011)CrossRefGoogle Scholar
  13. 13.
    Fallahi, N., Bonakdarpour, B., Tixeuil, S.: Rigorous performance evaluation of self-stabilization using probabilistic model checking. In: Proceedings of the 32nd Symposium on Reliable Distributed Systems - SRDS. IEEE (2013)Google Scholar
  14. 14.
    Nakaminami, Y., Kakugawa, H., Masuzawa, T.: An advanced performance analysis of self-stabilizing protocols: stabilization time with transient faults during convergence. In: Proceedings of the 20th International Parallel and Distributed Processing Symposium - IPDPS. IEEE (2006)Google Scholar
  15. 15.
    Dhama, A., Theel, O., Warns, T.: Reliability and availability analysis of self-stabilizing systems. In: Datta, A.K., Gradinariu, M. (eds.) SSS 2006. LNCS, vol. 4280, pp. 244–261. Springer, Heidelberg (2006) CrossRefGoogle Scholar
  16. 16.
    Cavada, R., et al.: The nuXmv symbolic model checker. In: Biere, A., Bloem, R. (eds.) CAV 2014. LNCS, vol. 8559, pp. 334–342. Springer, Heidelberg (2014) Google Scholar
  17. 17.
    Boulinier, C., Petit, F., Villain, V.: Synchronous vs. Asynchronous Unison. Algorithmica 51(1) (2008)Google Scholar
  18. 18.
    Tel, G.: Introduction to Distributed Algorithms. Cambridge University Press (2000)Google Scholar
  19. 19.
    Johnen, C.: Service time optimal self-stabilizing token circulation protocol on anonymous unidirectional rings. In: Proceedings of the 21st International Symposium on Reliable Distributed Systems - SRDS. IEEE (2002)Google Scholar
  20. 20.
    Proceedings of the 16th International Symposium on Stabilization, Safety, and Security of Distributed Systems - SSS. Springer (2014)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.Carl von Ossietzky University of OldenburgOldenburgGermany

Personalised recommendations