Skip to main content
Log in

Symbolic Verification of Communication Protocols with Infinite State Spaces using QDDs

  • Published:
Formal Methods in System Design Aims and scope Submit manuscript

Abstract

We study the verification of properties of communication protocols modeled by a finite set of finite-state machines that communicate by exchanging messages via unbounded FIFO queues. It is well-known that most interesting verification problems, such as deadlock detection, are undecidable for this class of systems. However, in practice, these verification problems may very well turn out to be decidable for a subclass containing most “real” protocols.

Motivated by this optimistic (and, we claim, realistic) observation, we present an algorithm that may construct a finite and exact representation of the state space of a communication protocol, even if this state space is infinite. Our algorithm performs a loop-first search in the state space of the protocol being analyzed. A loop-first search is a search technique that attempts to explore first the results of successive executions of loops in the protocol description (code). A new data structure named Queue-content Decision Diagram (QDD) is introduced for representing (possibly infinite) sets of queue-contents. Operations for manipulating QDDs during a loop-first search are presented.

A loop-first search using QDDs has been implemented, and experiments on several communication protocols with infinite state spaces have been performed. For these examples, our tool completed its search, and produced a finite symbolic representation for these infinite state spaces.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. P.A. Abdulla and B. Jonsson, “Verifying programs with unreliable channels,” in Proceedings of the 8th IEEE Symposium on Logic in Computer Science, 1993.

  2. P.A. Abdulla and B. Jonsson, “Undecidable verification problems for programs with unreliable channels,” in Proc. ICALP-94, volume 820 of Lecture Notes in Computer Science, Springer-Verlag, pp. 316–327, 1994.

  3. R. Alur, C. Courcoubetis, and D. Dill, “Model-checking in dense real-time,” Information and Computation, Vol. 104,No. 1, pp. 2–34, May 1993.

    Google Scholar 

  4. K. Bartlett, R. Scantlebury, and P. Wilkinson, “A note on reliable full-duplex transmissions over half-duplex lines,” Communications of the ACM, Vol. 2,No. 5, pp. 260–261, 1969.

    Google Scholar 

  5. B. Boigelot and P. Godefroid, “Symbolic verification of communication protocols with infinite state spaces using QDDs,” in Proc. 8th Conference on Computer Aided Verification, volume 1102 of Lecture Notes in Computer Science, Springer-Verlag, New Brunswick, pp. 1–12, Aug. 1996.

    Google Scholar 

  6. B. Boigelot, P. Godefroid, B. Willems, and P. Wolper, “The Power of QDDs,” in Proceedings of the Fourth International Static Analysis Symposium (SAS'97), Lecture Notes in Computer Science, Springer-Verlag, Paris, Sept. 1997.

    Google Scholar 

  7. B. Boigelot and P. Wolper, “Symbolic verification with periodic sets,” in Proc. 6th Conference on Computer Aided Verification, volume 818 of Lecture Notes in Computer Science, Springer-Verlag, Stanford, pp. 55–67, June 1994.

    Google Scholar 

  8. D. Brand and P. Zafiropulo, “On communicating finite-state machines,” Journal of the ACM, Vol. 2,No. 5, pp. 323–342, 1983.

    Google Scholar 

  9. R.E. Bryant, “Symbolic boolean manipulation with ordered binary-decision diagrams,” ACM Computing Surveys, Vol. 24,No. 3, pp. 293–318, 1992.

    Google Scholar 

  10. J.R. Burch, E.M. Clarke, K.L. McMillan, D.L. Dill, and L.J. Hwang, “Symbolic model checking: 1020 states and beyond,” in Proceedings of the 5th Symposium on Logic in Computer Science, Philadelphia, pp. 428–439, June 1990.

  11. G. Cécé, A. Finkel, and S. Purushothaman, “Unreliable channels are easier to verify than perfect channels,” Information and Computation, Vol. 124,No. 3, pp. 20–31, 1996.

    Google Scholar 

  12. A. Choquet and A. Finkel, “Simulation of linear FIFO nets having a structured set of terminal markings,” in Proc. 8th European Workshop on Application and Theory of Petri Nets, Saragoza, pp. 95–112, 1987.

  13. E.M. Clarke, E.A. Emerson, and A.P. Sistla, “Automatic verification of finite-state concurrent systems using temporal logic specifications,” ACM Transactions on Programming Languages and Systems, Vol. 8,No. 2, pp. 244–263, Jan. 1986.

    Google Scholar 

  14. A. Finkel, “A new class of analyzable cfsms with unbounded FIFO channels,” in Proc. 8th IFIP WG 6.1 International Symposium on Protocol Specification, Testing, and Verification, North-Holland, Atlantic City, pp. 1–12, 1988.

    Google Scholar 

  15. P. Godefroid and D.E. Long, “Symbolic protocol verification with queue BDDs,” in Proceedings of the 11th IEEE Symposium on Logic in Computer Science, New Brunswick, pp. 198–206, July 1996.

  16. M.G. Gouda, E.M. Gurari, T.H. Lai, and L.E. Rosier, “On deadlock detection in systems of communicating finite-state machines,” Computers and Artificial Intelligence, Vol. 6,No. 3, pp. 209–228, 1987.

    Google Scholar 

  17. T. Jéron, “Testing for unboundedness of FIFO channels,” in Proc. STACS-91: Symposium on Theoretical Aspects of Computer Science, volume 480 of Lecture Notes in Computer Science, Springer-Verlag, Hamburg, pp. 322–333, 1991.

    Google Scholar 

  18. R.M. Karp and R.E. Miller, “Parallel program schemata,” Journal of Computer and System Sciences, Vol. 3,No. 2, pp. 147–195, 1969.

    Google Scholar 

  19. H.R. Lewis and C.H. Papadimitriou, Elements of the Theory of Computation, Prentice Hall, 1981.

  20. O. Lichtenstein and A. Pnueli, “Checking that finite state concurrent programs satisfy their linear specification,” in Proceedings of the Twelfth ACM Symposium on Principles of Programming Languages, New Orleans, pp. 97–107, Jan. 1985.

  21. M.T. Liu, “Protocol engineering,” Advances in Computing, Vol. 29, pp. 79–195, 1989.

    Google Scholar 

  22. J.K. Pachl, “Protocol description and analysis based on a state transition model with channel expressions,” in Proc. 7th IFIP WG 6.1 International Symposium on Protocol Specification, Testing, and Verification, North-Holland, 1987.

  23. W. Peng and S. Purushothaman, “Data flow analysis of communicating finite state machines,” ACM Transactions on Programming Languages and Systems, Vol. 13,No. 3, pp. 399–442, 1991.

    Google Scholar 

  24. J.P. Quielle and J. Sifakis, “Specification and verification of concurrent systems in CESAR,” in Proc. 5th Int'l Symp. on Programming, volume 137 of Lecture Notes in Computer Science, Springer-Verlag, pp. 337–351, 1981.

  25. L.E. Royer and H.C. Yen, “Boundedness, empty channel detection and synchronization for communicating finite automata,” Theoretical Computer Science, Vol. 44, pp. 69–105, 1986.

    Google Scholar 

  26. H. Rudin, “Network protocols and tools to help produce them,” Annual Review of Computer Science, Vol. 2, pp. 291–316, 1987.

    Google Scholar 

  27. A.P. Sistla and L.D. Zuck, “Automatic temporal verification of buffer systems,” in Proc. 3rd Workshop on Computer Aided Verification, volume 575 of Lecture Notes in Computer Science, Springer-Verlag, Aalborg, pp. 93–103, July 1991.

    Google Scholar 

  28. A. Tanenbaum, Computer Neworks, Prentice Hall, 1989.

  29. M.Y. Vardi and P. Wolper, “An automata-theoretic approach to automatic program verification,” in Proceedings of the First Symposium on Logic in Computer Science, Cambridge, pp. 322–331, June 1986.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Boigelot, B., Godefroid, P. Symbolic Verification of Communication Protocols with Infinite State Spaces using QDDs. Formal Methods in System Design 14, 237–255 (1999). https://doi.org/10.1023/A:1008719024240

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1008719024240

Navigation