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.
Similar content being viewed by others
References
P.A. Abdulla and B. Jonsson, “Verifying programs with unreliable channels,” in Proceedings of the 8th IEEE Symposium on Logic in Computer Science, 1993.
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.
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.
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.
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.
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.
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.
D. Brand and P. Zafiropulo, “On communicating finite-state machines,” Journal of the ACM, Vol. 2,No. 5, pp. 323–342, 1983.
R.E. Bryant, “Symbolic boolean manipulation with ordered binary-decision diagrams,” ACM Computing Surveys, Vol. 24,No. 3, pp. 293–318, 1992.
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.
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.
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.
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.
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.
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.
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.
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.
R.M. Karp and R.E. Miller, “Parallel program schemata,” Journal of Computer and System Sciences, Vol. 3,No. 2, pp. 147–195, 1969.
H.R. Lewis and C.H. Papadimitriou, Elements of the Theory of Computation, Prentice Hall, 1981.
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.
M.T. Liu, “Protocol engineering,” Advances in Computing, Vol. 29, pp. 79–195, 1989.
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.
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.
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.
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.
H. Rudin, “Network protocols and tools to help produce them,” Annual Review of Computer Science, Vol. 2, pp. 291–316, 1987.
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.
A. Tanenbaum, Computer Neworks, Prentice Hall, 1989.
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.
Author information
Authors and Affiliations
Rights 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
Issue Date:
DOI: https://doi.org/10.1023/A:1008719024240