Advertisement

Formal Methods in System Design

, Volume 25, Issue 1, pp 39–65 | Cite as

Using Forward Reachability Analysis for Verification of Lossy Channel Systems

  • Parosh Aziz Abdulla
  • Aurore Collomb-Annichini
  • Ahmed Bouajjani
  • Bengt Jonsson
Article

Abstract

We consider symbolic on-the-fly verification methods for systems of finite-state machines that communicate by exchanging messages via unbounded and lossy FIFO queues. We propose a novel representation formalism, called simple regular expressions (SREs), for representing sets of states of protocols with lossy FIFO channels. We show that the class of languages representable by SREs is exactly the class of downward closed languages that arise in the analysis of such protocols. We give methods for computing (i) inclusion between SREs, (ii) an SRE representing the set of states reachable by executing a single transition in a system, and (iii) an SRE representing the set of states reachable by an arbitrary number of executions of a control loop. All these operations are rather simple and can be carried out in polynomial time.

With these techniques, one can straightforwardly construct an algorithm which explores the set of reachable states of a protocol, in order to check various safety properties. We also show how one can perform model-checking of LTL properties, using a standard automata-theoretic construction. It should be noted that all these methods are by necessity incomplete, even for the class of protocols with lossy channels.

To illustrate the applicability of our methods, we have developed a tool prototype and used the tool for automatic verification of (a parameterized version of) the Bounded Retransmission Protocol.

model checking protocol verification automata infinite-state systems 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Parosh Aziz Abdulla and Bengt Jonsson, “Undecidable verification problems for programs with unreliable channels,” Information and Computation, Vol. 130, No. 1, pp. 71–90, 1996.Google Scholar
  2. 2.
    Parosh Aziz Abdulla and Bengt Jonsson, “Verifying programs with unreliable channels,” Information and Computation, Vol. 127, No. 2, pp. 91–101, 1996.Google Scholar
  3. 3.
    A. Annichini, A. Bouajjani, and M. Sighireanu, “TReX: A tool for reachability analysis of complex systems,” in Proc. 13th Intern. Conf. on Computer Aided Verification (CAV'01), Paris, France, July 2001. Lecture Notes in Computer Science 2102, Springer-Verlag.Google Scholar
  4. 4.
    S. Bensalem, A. Bouajjani, C. Loiseaux, and J. Sifakis, “Property-preserving simulations,” in CAV'92. LNCS 663, 1992.Google Scholar
  5. 5.
    S. Bensalem, Y. Lakhnech, and S. Owre, “Invest: A tool for the verification of invariants,” in Computer Aided Verification, Alan J. Hu and Moshe Y. Vardi (Eds.), Vol. 1427 of Lecture Notes in Computer Science, Springer-Verlag, 1998, pp. 505-510.Google Scholar
  6. 6.
    G.V. Bochman, “Finite state description of communicating protocols,” Computer Networks, Vol. 2, pp. 361–371, 1978.Google Scholar
  7. 7.
    B. Boigelot and P. Godefroid, “Symbolic verification of communication protocols with infinite state spaces using QDDs,” in Proc. 8th Int. Conf. on Computer Aided Verification, Alur and Henzinger (Eds.), Vol. 1102 of Lecture Notes in Computer Science, Springer Verlag, 1996, pp. 1-12.Google Scholar
  8. 8.
    B. Boigelot, P. Godefroid, B. Willems, and P. Wolper, “The power of QDDs,” Available at http://www.montefiore.ulg.ac.be/~biogelot/research/BGWW97.ps.Google Scholar
  9. 9.
    B. Boigelot, P. Godefroid, B. Willems, and P. Wolper, “The power of QDDs,” in Proc. of the Fourth International Static Analysis Symposium, Lecture Notes in Computer Science. Springer Verlag, 1997.Google Scholar
  10. 10.
    B. Boigelot and P. Wolper, “Symbolic verification with periodic sets,” in Proc. 6th Int. Conf. on Computer Aided Verification, Vol. 818 of Lecture Notes in Computer Science, Springer Verlag, 1994, pp. 55-67.Google Scholar
  11. 11.
    A. Bouajjani and P. Habermehl, “Symbolic reachability analysis of fifo-channel systems with nonregular sets of configurations,” http://www.imag.fr/VERIMAG/PEOPLE/Peter.Habermehl.Google Scholar
  12. 12.
    A. Bouajjani and P. Habermehl, “Symbolic reachability analysis of Fifo-Channel Systems with Nonregular Sets of Configurations,” Theoretical Computer Science, Vol. 221, Nos. 1/2, 1999.Google Scholar
  13. 13.
    D. Brand and P. Zafiropulo, “On communicating finite-state machines,” Journal of the ACM, Vol. 2, No. 5, pp. 323–342, 1983.Google Scholar
  14. 14.
    Gérard Cécé, Alain Finkel, and S. Purushothaman Iyer, “Unreliable channels are easier to verify than perfect channels,” Information and Computation, Vol. 124, No. 1, pp. 20–31, 1996.Google Scholar
  15. 15.
    A. Choquet and A. Finkel, “Simulation of linear FIFO nets having a structured set of terminal markings,” in Proc. 8th European Workshop on Applications and Theory of Petri Nets, 1987.Google Scholar
  16. 16.
    C. Courcoubetis, M. Vardi, P. Wolper, and M. Yannakakis, “Memory efficient algorithms for the verification of temporal properties,” in Proc. Workshop on Computer Aided Verification, 1990.Google Scholar
  17. 17.
    P. D'Argenio, J.-P. Katoen, T. Ruys, and G.J. Tretmans, “The bounded retransmission protocol must be on time,” in TACAS'97. LNCS 1217, 1997.Google Scholar
  18. 18.
    J.-C. Fernandez, H. Garavel, A. Kerbrat, R. Mateescu, L. Mounier, and M. Sighireanu, “CADP: A protocol validation and verification toolbox,” in CAV'96. LNCS 1102, 1996.Google Scholar
  19. 19.
    J.Cl. Fernandez and L. Mounier, “A tool set for deciding behavioural equivalences,” in CONCUR'91. LNCS 527, 1991.Google Scholar
  20. 20.
    A. Finkel and O. Marcé, “Verification of infinite regular communicating automata,” Technical report, LIFAC, Ecole Normale Supérieure de Cachan, Technical Report, 1996.Google Scholar
  21. 21.
    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
  22. 22.
    S. Graf and H. Saidi, “Construction of abstract state graphs with PVS,” in Proc. 9th Int. Conf. on Computer Aided Verification, Vol. 1254, Haifa, Israel, Springer Verlag, 1997.Google Scholar
  23. 23.
    J.F. Groote and J. van de Pol, “A bounded retransmission protocol for large data packets,” Technical report, Department of Philosophy, Utrecht University, Oct. 1993.Google Scholar
  24. 24.
    O. Grumberg and D.E. Long, “Model checking and modular verification,” in Proc. CONCUR '91, Theories of Concurrency: Unification and Extension, J.C.M. Baseten and J.F. Groote (Eds.), Vol. 527 of Lecture Notes in Computer Science, Amsterdam, Holland, Springer Verlag, 1991, pp. 250–265.Google Scholar
  25. 25.
    K. Havelund and N. Shankar, “Experiments in theorem proving and model checking for protocol verification,” in FME'96. LNCS 1051, 1996.Google Scholar
  26. 26.
    L. Helmink, M.P.A. Sellink, and F. Vaandrager, “Proof checking a data link protocol,” in Types for Proofs and Programs. LNCS 806, 1994.Google Scholar
  27. 27.
    G. Higman, “Ordering by divisibility in abstract algebras,” Proc. London Math. Soc., Vol. 2, pp. 326–336, 1952.Google Scholar
  28. 28.
    G.J. Holzmann, Design and Validation of Computer Protocols, Prentice Hall, 1991.Google Scholar
  29. 29.
    R. Mateescu, “Formal description and analysis of a bounded retransmission protocol,” Technical report no. 2965, INRIA, 1996.Google Scholar
  30. 30.
    R. Mayr, “Undecidable problems in unreliable computations,” in Theoretical Informatics (LATIN'2000), number 1776 in Lecture Notes in Computer Science, 2000.Google Scholar
  31. 31.
    J.K. Pachl, “Protocol description and analysis based on a state transition model with channel expressions,” in Protocol Specification, Testing, and Verification VII, May 1987.Google Scholar
  32. 32.
    W. Peng and S. Purushothaman, “Data flow analysis of communicating finite state machines,” ACM Trans. on Programming Languages and Systems, Vol. 13, No. 3, pp. 399–442, 1991.Google Scholar
  33. 33.
    A.P. Sistla and L.D. Zuck, “Automatic temporal verification of buffer systems,” in Proc.Workshop on Computer Aided Verification, Larsen and Skou (Eds.), Vol. 575 of Lecture Notes in Computer Science, Springer Verlag, 1991.Google Scholar
  34. 34.
    M.Y. Vardi and P.Wolper, “An automata-theoretic approach to automatic program verification,” in Proc. LICS'86, 1st IEEE Int. Symp. on Logic in Computer Science, June 1986, pp. 332-344.Google Scholar

Copyright information

© Kluwer Academic Publishers 2004

Authors and Affiliations

  • Parosh Aziz Abdulla
    • 1
  • Aurore Collomb-Annichini
    • 2
  • Ahmed Bouajjani
    • 3
  • Bengt Jonsson
    • 1
  1. 1.Department of Information TechnologyUppsala UniversitySweden
  2. 2.VasyINRIARhône-AlpesFrance
  3. 3.LIAFAUniversity of Paris 7France

Personalised recommendations