Symbolic Verification of Communication Protocols with Infinite StateSpaces using QDDs

  • Authors:
  • Bernard Boigelot;Patrice Godefroid

  • Affiliations:
  • Université de Liège, Institut Montefiore, B28, 4000 Liège Sart-Tilman, Belgium. boigelot@montefiore.ulg.ac.be;Bell Laboratories, Lucent Technologies, 1000 E. Warrenville Road, Naperville, IL 60566, USA. god@bell-labs.com

  • Venue:
  • Formal Methods in System Design
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

We study the verification of properties of communication protocolsmodeled by a finite set of finite-state machines that communicate by exchangingmessages via unbounded FIFO queues. It is well-known that most interesting verification problems, such as deadlock detection, are undecidable for this classof systems. However, in practice, these verification problems may very wellturn 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 ifthis state space is infinite. Our algorithm performs a loop-first search in the state space of the protocol being analyzed. A loop-first search isa search technique that attempts to explore first the results of successiveexecutions of loops in the protocol description (code). A new data structurenamed 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 beenimplemented, and experiments on several communication protocols with infinitestate spaces have been performed. For these examples, our tool completed itssearch, and produced a finite symbolic representation for these infinitestate spaces.