Skip to main content

Constraint-Based Verification of Client-Server Protocols

  • Conference paper
  • First Online:
Principles and Practice of Constraint Programming — CP 2001 (CP 2001)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2239))

Abstract

We show that existing constraint manipulation technology incorporated in the paradigm of symbolic model checking with rich assertional languages [KMM+97], can be successfully applied to the verification of client-server protocols with a finite but unbounded number of clients. Abstract interpretation is the mathematical bridge between protocol specifications and the constraint-based verification method on heterogeneous data used in the Action Language Verifier, a model checker for CTL [BYK01]. The method we propose is incomplete but fully automatic and sound for safety and liveness properties. Suficient conditions for termination of the resulting procedures can be derived by using the theory of [ACJT96]. As a case-study, we apply the method to check safety and liveness properties for a formal model of Steve German’s directory based consistency protocol [PRZ01].

The work by Tevfik Bultan is supported in part by NSF grant CCR-9970976 and NSF CAREER award CCR-9984822.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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. P. A. Abdulla, K. Cerāns, B. Jonsson and Y.-K. Tsay. General Decidability Theorems for Infinite-State Systems. In Proc. LICS’ 99, pp. 313–321, 1996.

    Google Scholar 

  2. T. Ball, S. Chaki, S. K. Rajamani. Parameterized Verification of Multithreaded Software Libraries. In Proc. TACAS’ 01, LNCS 2031, pp. 158–173, 2001.

    MATH  Google Scholar 

  3. T. Bultan, R. Gerber, and W. Pugh. Model-checking concurrent systems with unbounded integer variables: Symbolic representations, approximations, and experimental results. ACM TOPLAS, 21(4):747–789, 1999.

    Article  Google Scholar 

  4. T. Bultan, R. Gerber, C. League Composite model-checking: verification with type-specific symbolic representations.ACM TOSEM, 9(1): 3–50, 2000.

    Article  Google Scholar 

  5. T. Bultan. Action Language: A specification language for model checking reactive systems. In Proc. ICSE’ 00, pp. 335–344, 2000.

    Google Scholar 

  6. T. Bultan and T. Yavuz-Kahveci. Action Language Verifier. In Proc. ASE’ 01, 2001.

    Google Scholar 

  7. P. Cousot and R. Cousot. Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints. In Proc. POPL’ 77 pp. 238–252, 1977.

    Google Scholar 

  8. E. M. Clarke, O. Grumberg, D. Peled. Model Checking. MIT Press, December 1999.

    Google Scholar 

  9. Fabio Somenzi. CUDD: the CU Decision Diagram Package, Release 2.3.1. http://vlsi.colorado.edu/~fabio/cudd/.

  10. G. Delzanno. Automatic Verification of Parameterized Cache Coherence Protocols. In Proc. CAV’ 00, LNCS 1855, pp. 53–68, 1996.

    MATH  Google Scholar 

  11. G. Delzanno, J. Esparza, and A. Podelski. Constraint-based Analysis of Broadcast Protocols. In Proc. CSL’ 99, LNCS 1683, pp. 50–66, 1999.

    MATH  Google Scholar 

  12. G. Delzanno, A. Podelski. Model Checking in CLP. In Proc. TACAS’ 99, LNCS 1579, pp. 223–239, 1999.

    Google Scholar 

  13. E. A. Emerson and K. S. Namjoshi. On Model Checking for Nondeterministic Infinite-state Systems. In Proc. LICS’ 98, pp. 70–80, 1998.

    Google Scholar 

  14. J. Esparza, A. Finkel, and R. Mayr. On the Verification of Broadcast Protocols. In Proc. LICS’ 99, pp. 352–359, 1999.

    Google Scholar 

  15. L. Fribourg. Constraint Logic Programming Applied to Model Checking. In Proc. LOPSTR’ 99, LNCS 1817, pp. 30–41, 1999.

    MATH  Google Scholar 

  16. S.M. German. Personal communication.

    Google Scholar 

  17. S. M. German, A. P. Sistla. Reasoning about Systems with Many Processes. JACM 39(3): 675–735 (1992)

    Article  MathSciNet  Google Scholar 

  18. N. Halbwachs. Delay Analysis in Synchronous Programs. In Proc. CAV’ 93, LNCS 697, pp. 333–346, 1993.

    Google Scholar 

  19. G. Holzmann Algorithms for Automated Protocol Verification. AT&T Technical Journal 69(2):32–44, 1988.

    Google Scholar 

  20. W. Kelly, V. Maslov, W. Pugh, E. Rosser, T. Shpeisman, and D. Wonnacott. The Omega library interface guide. Technical Report CS-TR-3445, Department of Computer Science, University of Maryland, College Park, March 1995. See also http://www.cs.umd.edu/projects/omega/.

  21. Y. Kesten, O. Maler, M. Marcus, A. Pnueli, E. Shahar. Symbolic Model Checking with Rich Assertional Languages. In Proc. CAV’ 97, pp. 424–435, 1997.

    Google Scholar 

  22. K. L. McMillan. Symbolic Model Checking: An Approach to the State Explosion Problem. Kluwer Academic, 1993.

    Google Scholar 

  23. A. Pnueli, S. Ruah, L. D. Zuck Automatic Deductive Verification with Invisible Invariants. In Proc. TACAS’ 01, LNCS 2031, pp. 82–97, 2001.

    MATH  Google Scholar 

  24. W. Pugh. The Omega Test: a Fast and Practical Integer Programming Algorithm for Dependence Analysis. Communications of the ACM, 8:102–114, 1992.

    Article  Google Scholar 

  25. T. Yavuz-Kahveci, M. Tuncer, and T. Bultan. A Library for Composite Symbolic Representations. In Proc. TACAS’ 01, LNCS 2031, pp. 52–66, 2001.

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Delzanno, G., Bultan, T. (2001). Constraint-Based Verification of Client-Server Protocols. In: Walsh, T. (eds) Principles and Practice of Constraint Programming — CP 2001. CP 2001. Lecture Notes in Computer Science, vol 2239. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45578-7_20

Download citation

  • DOI: https://doi.org/10.1007/3-540-45578-7_20

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-42863-3

  • Online ISBN: 978-3-540-45578-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics