Advertisement

A Framework for Certified Self-Stabilization

  • Karine AltisenEmail author
  • Pierre Corbineau
  • Stéphane Devismes
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9688)

Abstract

We propose a framework to build certified proofs of self-stabilizing algorithms using the proof assistant Coq. We first define in Coq the locally shared memory model with composite atomicity, the most commonly used model in the self-stabilizing area. We then validate our framework by certifying a non-trivial part of an existing self-stabilizing algorithm which builds a k-hop dominating set of the network. We also certify a quantitative property related to its output: we show that the size of the computed k-hop dominating set is at most \(\lfloor \frac{n-1}{k+1} \rfloor + 1\), where n is the number of nodes. To obtain these results, we developed a library which contains general tools related to potential functions and cardinality of sets.

Keywords

Span Tree Proof Assistant Regular Node Global Criterion Share Memory Model 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

References

  1. 1.
    Ben-Othman, J., Bessaoud, K., Bui, A., Pilard, L.: Self-stabilizing algorithm for efficient topology control in wireless sensor networks. J. Comput. Sci. 4(4), 199–208 (2013)CrossRefGoogle Scholar
  2. 2.
    Blanqui, F., Koprowski, A.: CoLoR: a coq library on well-founded rewrite relations and its application to the automated verification of termination certificates. Math. Struct. Comput. Sci. 21(4), 827–859 (2011)MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Caron, E., Chuffart, F., Tedeschi, C.: When self-stabilization meets real platforms: an experimental study of a peer-to-peer service discovery system. future gener. comput. syst. 29(6), 1533–1543 (2013)CrossRefGoogle Scholar
  4. 4.
    Chen, M., Monin, J.F.: Formal verification of netlog protocols. In: TASE (2012)Google Scholar
  5. 5.
    Chen, N., Yu, H., Huang, S.: A self-stabilizing algorithm for constructing spanning trees. Inf. Process. Lett. 39, 147–151 (1991)MathSciNetCrossRefzbMATHGoogle Scholar
  6. 6.
    Courtieu, P.: Proving self-stabilization with a proof assistant. In: IPDPS (2002)Google Scholar
  7. 7.
    Courtieu, P., Rieg, L., Tixeuil, S., Urbain, X.: Impossibility of gathering, a certification. Inf. Process. Lett. 115(3), 447–452 (2015)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Datta, A.K., Larmore, L.L., Devismes, S., Heurtefeux, K., Rivierre, Y.: Competitive self-stabilizing k-clustering. In: ICDCS (2012)Google Scholar
  9. 9.
    Datta, A.K., Larmore, L.L., Devismes, S., Heurtefeux, K., Rivierre, Y.: Self-stabilizing small k-dominating sets. IJNC 3(1), 116–136 (2013)zbMATHGoogle Scholar
  10. 10.
    Deng, Y., Monin, J.F.: Verifying self-stabilizing population protocols with Coq. In: TASE (2009)Google Scholar
  11. 11.
    Dershowitz, N., Manna, Z.: Proving termination with multiset orderings. Commun. ACM 22(8), 465–476 (1979)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Dijkstra, E.W.: Self-stabilizing systems in spite of distributed control. Commun. ACM 17, 643–644 (1974)CrossRefzbMATHGoogle Scholar
  13. 13.
    Dolev, S., Gouda, M.G., Schneider, M.: Memory requirements for silent stabilization. In: PODC, pp. 27–34 (1996)Google Scholar
  14. 14.
    Ghosh, S.: An alternative solution to a problem on self-stabilization. ACM Trans. Program. Lang. Syst. 15(4), 735–742 (1993)CrossRefGoogle Scholar
  15. 15.
    Huang, S., Chen, N.: Self-stabilizing depth-first token circulation on networks. Distrib. Comput. 7(1), 61–66 (1993)CrossRefzbMATHGoogle Scholar
  16. 16.
    Küfner, P., Nestmann, U., Rickmann, C.: Formal verification of distributed algorithms. In: Baeten, J.C.M., Ball, T., de Boer, F.S. (eds.) TCS 2012. LNCS, vol. 7604, pp. 209–224. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  17. 17.
    Kulkarni, S.S., Rushby, J.M., Shankar, N.: A case-study in component-based mechanical verification of fault-tolerant programs. In: WSS, pp. 33–40 (1999)Google Scholar
  18. 18.
    Lamport, L.: How to write a 21st century proof. J. fixed point theory appl. 11(1), 43–63 (2012)MathSciNetCrossRefzbMATHGoogle Scholar
  19. 19.
    The Coq Development Team: The Coq Proof Assistant, Reference Manual. http://coq.inria.fr/refman/

Copyright information

© IFIP International Federation for Information Processing 2016

Authors and Affiliations

  • Karine Altisen
    • 1
    Email author
  • Pierre Corbineau
    • 1
  • Stéphane Devismes
    • 1
  1. 1.VERIMAG UMR 5104Université Grenoble AlpesGrenobleFrance

Personalised recommendations