The power of QDDs (extended abstract)

  • Bernard Boigelot
  • Patrice Godefroid
  • Bernard Willems
  • Pierre Wolper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1302)


Queue-content Decision Diagrams (QDDs) are finite-automaton based data structures for representing (possibly infinite) sets of contents of a finite collection of unbounded FIFO queues. Their intended use is to serve as a symbolic representation of the possible queue contents that can occur in the state space of a protocol modeled by finite-state machines communicating through unbounded queues. This is done with the help of a loop-first search, a state-space exploration technique that attempts whenever possible to compute symbolically the effect of repeatedly executing a loop any number of times, making it possible to analyze protocols with infinite state spaces though without the guarantee of termination. This paper first solves a key problem concerning the use of QDDs in this context: it precisely characterizes when, and shows how, the operations required by a loop-first search can be applied to QDDs. Then, it addresses the problem of exploiting QDDs and loop-first searches to broaden the range of properties that can be checked from simple state reachability to temporal logic. Finally, a sufficient criterion for the termination of a loop-first search using QDDs is given.


Global State Regular Language Finite Automaton Reachable State Graph Grammar 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AJ94]
    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, pages 316–327. Springer-Verlag, 1994.Google Scholar
  2. [BG96]
    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, pages 1–12, New Brunswick, August 1996. Springer-Verlag.Google Scholar
  3. [BGWW97]
    B. Boigelot, P. Godefroid, B. Willems and P. Wolper.The Power of QDDs. Full paper, available at Scholar
  4. [Büc62]
    J.R. Büchi. On a decision method in restricted second order arithmetic. In Proc. Internat. Congr. Logic, Method and Philos. Sci. 1960, pages 1–12, Stanford, 1962. Stanford University Press.Google Scholar
  5. [BW94]
    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, pages 55–67, Stanford, June 1994. Springer-Verlag.Google Scholar
  6. [BZ83]
    D. Brand and P. Zafiropulo. On communicating finite-state machines. Journal of the ACM, 2(5):323–342, 1983.Google Scholar
  7. [CC77]
    P. Cousot and R. Cousot. Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints. In Proc..4th ACM Symposium on Principles of Programming Languages, 1977.Google Scholar
  8. [CES86]
    E.M. Clarke, E.A. Emerson and A.P. Sistla. Automatic verification of finitestate concurrent systems using temporal logic specifications. ACM Transactions on Programming Languages and Systems, 8(2):244–263, January 1986.Google Scholar
  9. [FM96]
    A. Finkel and O. Marcé. Verification of infinite regular communicating automata. Technical report, LIFAC, Ecole Normale Supérieure de Cachan, April 1996.Google Scholar
  10. [GL96]
    P. Godefroid and D. E. Long.Symbolic protocol verification with Queue BDDs. In Proceedings of the 11th IEEE Symposium on Logic in Computer Science, pages 198–206, New Brunswick, July 1996.Google Scholar
  11. [God96]
    P. Godefroid Partial-order methods for the verification of concurrent systems — An approach to the state-explosion problem. In Volume 1032 of Lecture Notes in Computer Science, Springer-Verlag, 1996.Google Scholar
  12. [Ho191]
    G. Holzmann. Design and Validation of Computer Protocols. Prentice-Hall International Editions, 1991.Google Scholar
  13. [Jer91]
    T. Jéron. Testing for unboundedness of FIFO channels. In Proc. STACS-91: Symposium on Theoretical Aspects of Computer Science, 2701 0699 V 2 volume 480 of Lecture Notes in Computer Science, pages 322–333, Hamburg, 1991. Springer-Verlag.Google Scholar
  14. [LP81]
    H. R. Lewis and C. H. Papadimitriou. Elements of the theory of computation. Prentice Hall, 1981.Google Scholar
  15. [MP92]
    Z. Manna and A. Pnueli. The Temporal logic of reactive and concurrent systems: Specification. Springer-Verlag, 1992.Google Scholar
  16. [Pac87]
    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.Google Scholar
  17. [Pe194]
    D. Peled. Combining partial order reductions with on-the-fly model-checking. In Computer Aided Verification, Proc. 6th Int. Workshop, Stanford, California, June 1994. Lecture Notes in Computer Science, Springer-Verlag.Google Scholar
  18. [QJ95]
    Y.-M. Quemener and Th. Jéron. Model-checking of CTL on infinite Kripke structures defined by simple graph grammars. Research Report 2563, IRRIA, June 1995.Google Scholar
  19. [QJ96]
    Y.-M. Quemener and Th. Jéron. Finitely representing infinite reachability graphs of CFSMs with graph grammars. Internal Publication 994, IRISA, March 1996.Google Scholar
  20. [Saf88]
    S. Safra. On the complexity of omega-automata. In Proceedings of the 29th IEEE Symposium on Foundations of Computer Science, White Plains, October 1988.Google Scholar
  21. [SVW87]
    A.P. Sistla, M.Y. Vardi, and P. Wolper. The complementation problem for Büchi automata with applications to temporal logic. Theoretical Computer Science, 49:217–237, 1987.Google Scholar
  22. [Tur93]
    K. J. Turner et al. Using Formal Description Techniques — An Introduction to Estelle, Lotos and SDL. Wiley, 1993.Google Scholar
  23. [Val92]
    A. Valmari. A stubborn attack on state explosion. Formal Methods in System Design, 1:297–322, 1992.Google Scholar
  24. [VW86]
    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, pages 322–331, Cambridge, June 1986.Google Scholar
  25. [VW94]
    M.Y. Vardi and P. Wolper. Reasoning about infinite computations. Information and Computation, 115(1):1–37, November 1994.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Bernard Boigelot
    • 1
  • Patrice Godefroid
    • 2
  • Bernard Willems
    • 1
  • Pierre Wolper
    • 1
  1. 1.Institut Montefiore, B28Université de LiègeLiège Sart-TilmanBelgium
  2. 2.Bell LaboratoriesLucent TechnologiesNapervilleUSA

Personalised recommendations