Skip to main content

SMT-Based Model Checking for Stabilizing Programs,

  • Conference paper
Distributed Computing and Networking (ICDCN 2013)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 7730))

Included in the following conference series:

  • 1418 Accesses

Abstract

We focus on the verification of stabilizing programs using SMT solvers. SMT solvers have the potential to convert the verification problem into a satisfiability problem of a Boolean formula and utilize efficient techniques to determine whether it is satisfiable. We focus on utilizing techniques from bounded model checking to determine whether the given program is stabilizing. We illustrate our approach using three case studies. We also identify tradeoffs between verification with SMT solvers and existing approaches.

This work is sponsored in part by AFOSR FA9550-10-1-0178 and NSF CNS Grant 0914913.

Part of this work is accepted as a brief announcement in SSS 2012.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Arora, A., Gouda, M.: Closure and convergence: A foundation of fault-tolerant computing. IEEE Transactions on Software Engineering 19(11) (1993)

    Google Scholar 

  2. Biere, A., Cimatti, A., Clarke, E., Zhu, Y.: Symbolic model checking without bdds. In: Proc. of the Workshop on Tools and Algorithms for the Construction and Analysis of Systems (1999)

    Google Scholar 

  3. Bryant, R.E.: Graph-based algorithms for boolean function manipulation. IEEE Transactions on Computers 35(8) (1986)

    Google Scholar 

  4. Chen, J., Abujarad, F., Kulkarni, S.: Effect of Fairness in Model Checking of Self-stabilizing Programs. In: Lu, C., Masuzawa, T., Mosbah, M. (eds.) OPODIS 2010. LNCS, vol. 6490, pp. 135–138. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  5. Chen, J., Kulkarni, S.: Smt-based model checking for stabilizing programs. Technical Report MSU-CSE-12-13, Computer Science and Engineering, Michigan State University, East Lansing, Michigan (October 2012)

    Google Scholar 

  6. Clarke, E., Biere, A., Raimi, R., Zhu, Y.: Bounded model checking using satisfiability solving. Journal of Form. Methods Syst. Des. (2001)

    Google Scholar 

  7. Copty, F., Fix, L., Fraer, R., Giunchiglia, E., Kamhi, G., Tacchella, A., Vardi, M.Y.: Benefits of Bounded Model Checking at an Industrial Setting. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, pp. 436–453. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  8. de Moura, L., Bjørner, N.S.: Z3: An Efficient SMT Solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  9. Dijkstra, E.W.: Self stabilizing systems in spite of distributed control. Communications of the ACM 17(11) (1974)

    Google Scholar 

  10. Dolev, S.: Self-stabilizing routing and related protocols. Journal of Parallel and Distributed Computing 42(2) (1997)

    Google Scholar 

  11. Dolev, S.: Self-Stabilization. MIT Press (2000)

    Google Scholar 

  12. Dutertre, B., De Moura, L.: The yices smt solver. Technical report, Computer Science Laboratory, SRI International (2006)

    Google Scholar 

  13. Grumberg, O., Clarke, E.M., Peled, D.A.: Model Checking. The MIT Press (2000)

    Google Scholar 

  14. Eén, N., Sörensson, N.: An Extensible SAT-solver. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 502–518. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  15. Ghosh, S.: Binary self-stabilization in distributed systems. Information Processing Letter 40(3) (1991)

    Google Scholar 

  16. Ghosh, S.: Distributed Systems: An Algorithmic Approach. CRC Press (2006)

    Google Scholar 

  17. Ghosh, S., Gupta, A.: An exercise in fault-containment: Self-stabilizing leader election. Information Processing Letters (1996)

    Google Scholar 

  18. Goldberg, E., Novikov, Y.: Berkmin: A fast and robust sat-solver. In: Proceedings of the Conference on Design, Automation and Test in Europe, DATE 2002 (2002)

    Google Scholar 

  19. Gouda, M.G., Multari, N.: Stabilizing communication protocols. IEEE Trans. Comput. 40(4), 448–458 (1991)

    Article  Google Scholar 

  20. Kulkarni, S.S., Bolen, C., Oleszkiewicz, J., Robinson, A.: Alternator in read/write model. Information Processing Letters (2005)

    Google Scholar 

  21. Kulkarni, S.S., Rushby, J.M., Natarajan, S.: A case-study in component-based mechanical verification of fault-tolerant programs. In: Workshop on Self-stabilizing System, pp. 33–40 (1999)

    Google Scholar 

  22. McMillan, K.L.: Symbolic Model Checking. Kluwer Academic Publishers (1993)

    Google Scholar 

  23. McMillan, K.L.: The smv system for smv version 2.5.4. Technical report, Carnegie Mellon University (2000)

    Google Scholar 

  24. Moskewicz, M.W., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S.: Chaff: engineering an efficient sat solver. In: Proceedings of the 38th Annual Design Automation Conference, DAC 2001 (2001)

    Google Scholar 

  25. Prasetya, I.S.W.B.: Mechanically verified self-stabilizing hierarchical algorithms. In: Proceedings of the Third International Workshop on Tools and Algorithms for Construction and Analysis of Systems, pp. 399–415 (1997)

    Google Scholar 

  26. Qadeer, S., Shankar, N.: Verifying a self-stabilizing mutual exclusion algorithm. In: IFIP International Conference on Programming Concepts and Methods, PROCOMET 1998 (1998)

    Google Scholar 

  27. Rabinovitz, I., Grumberg, O.: Bounded Model Checking of Concurrent Programs. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 82–97. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  28. Raymond, K.: A tree-based algorithm for distributed mutual exclusion. ACM Transactions on Computer Systems (TOCS) 7, 61–77 (1989)

    Article  Google Scholar 

  29. Tsuchiya, T., Nagano, S., Paidi, R.B., Kikuno, T.: Symbolic model checking for self-stabilizing algorithms. IEEE Trans. Parallel Distrib. Syst. 12, 81–95 (2001)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Chen, J., Kulkarni, S. (2013). SMT-Based Model Checking for Stabilizing Programs, . In: Frey, D., Raynal, M., Sarkar, S., Shyamasundar, R.K., Sinha, P. (eds) Distributed Computing and Networking. ICDCN 2013. Lecture Notes in Computer Science, vol 7730. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-35668-1_27

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-35668-1_27

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-35667-4

  • Online ISBN: 978-3-642-35668-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics