Skip to main content

Learning to Verify Safety Properties

  • Conference paper
Formal Methods and Software Engineering (ICFEM 2004)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3308))

Included in the following conference series:

Abstract

We present a novel approach for verifying safety properties of finite state machines communicating over unbounded FIFO channels that is based on applying machine learning techniques. We assume that we are given a model of the system and learn the set of reachable states from a sample set of executions of the system, instead of attempting to iteratively compute the reachable states. The learnt set of reachable states is then used to either prove that the system is safe or to produce a valid execution of the system leading to an unsafe state (i.e. a counterexample). We have implemented this method for verifying FIFO automata in a tool called Lever that uses a regular language learning algorithm called RPNI. We apply our tool to a few case studies and report our experience with this method. We also demonstrate how this method can be generalized and applied to the verification of other infinite state systems.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bouajjani, A., Jonsson, B., Nilsson, M., Touili, T.: Regular model checking. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 403–418. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  2. Oncina, J., Garcia, P.: Inferring regular languages in polynomial update time. In: Pattern Recognition and Image Analysis. Series in Machine Perception and Artificial Intelligence, vol. 1, pp. 49–61. World Scientific, Singapore (1992)

    Chapter  Google Scholar 

  3. Dupont, P.: Incremental regular inference. In: Miclet, L., de la Higuera, C. (eds.) ICGI 1996. LNCS, vol. 1147, pp. 222–237. Springer, Heidelberg (1996)

    Chapter  Google Scholar 

  4. Vardhan, A., Sen, K., Viswanathan, M., Agha, G.: Learning to verify safety properties, Tech. Rep. UIUCDCS-R-2004-2445 University of Illinois (2004), http://osl.cs.uiuc.edu/docs/sub2004vardhan/cfsmLearn.pdf

  5. Hopcroft, J.E., Motwani, R., Rotwani, Ullman, J.D.: Introduction to Automata Theory, Languages and Computability. Addison-Wesley Longman Publishing Co. Inc., Amsterdam (2000)

    Google Scholar 

  6. Berstel, J.: Transductions and Context-Free-Languages. B.G. Teubner, Stuttgart (1979)

    MATH  Google Scholar 

  7. Angluin, D.: Learning regular sets from queries and counterexamples. Inform. Comput. 75(2), 87–106 (1987)

    Article  MATH  MathSciNet  Google Scholar 

  8. Gold, E.M.: Language indentification in the limit. Inform. Control 10, 447–474 (1967)

    Article  MATH  Google Scholar 

  9. Finkel, A., Purushothaman Iyer, S., Sutre, G.: Well-abstracted transition systems: Application to FIFO automata. Information and Computation 181(1), 1–31 (2003)

    Article  MATH  MathSciNet  Google Scholar 

  10. LEVER, Learning to verify tool (2004), http://osl.cs.uiuc.edu/vardhan/lever.html

  11. Møller, A.: http://www.brics.dk/~amoeller/automaton/ (2004)

  12. Tanenbaum, A.S.: Computer Networks, 2nd edn. Prentice-Hall, Englewood Cliffs (1989)

    Google Scholar 

  13. Nilsson, M.: http://www.regulalrmodelchecking.com (2004)

  14. Abdulla, P.A., Jonsson, B., Nilsson, M., d’Orso, J.: Algorithmic improvements in regular model checking. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 236–248. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  15. Boigelot, B.: Symbolic Methods for Exploring Infinite State Spaces, Ph.D. thesis, Collection des Publications de la Faculté des Sciences Appliquées de l’Université de Liége (1999)

    Google Scholar 

  16. Bouajjani, A., Habermehl, P.: Symbolic reachability analysis of FIFO-channel systems with nonregular sets of configurations. Theoretical Computer Science 221(1–2), 211–250 (1999)

    Article  MATH  MathSciNet  Google Scholar 

  17. Touili, T.: Regular model checking using widening techniques. In: ENTCS, vol. 50, Elsevier, Amsterdam (2001)

    Google Scholar 

  18. Bultan, T.: Automated symbolic analysis of reactive systems, Ph.D. thesis, Dept. of Computer Science, University of Maryland, College Park, Md. (1998)

    Google Scholar 

  19. Bartzis, C., Bultan, T.: Widening arithmetic automata. In: Computer Aided Verification 2004 (to appear, 2004)

    Google Scholar 

  20. Peled, D., Vardi, M.Y., Yannakakis, M.: Black box checking. In: FORTE/PSTV, Beijing, China (1999)

    Google Scholar 

  21. Groce, A., Peled, D., Yannakakis, M.: Adaptive model checking. In: Katoen, J.-P., Stevens, P. (eds.) TACAS 2002. LNCS, vol. 2280, pp. 357–371. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  22. Cobleigh, J.M., Giannakopoulou, D., Pasareanu, C.S.: Learning assumptions for compositional verification. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619, pp. 331–346. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  23. Boigelot, B., Godefroid, P.: Automatic synthesis of specifications from the dynamic observation of reactive programs. In: Brinksma, E. (ed.) TACAS 1997. LNCS, vol. 1217, pp. 321–334. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  24. Ammons, G., Bodík, R., Larus, J.R.: Mining specifications. ACM SIGPLAN Notices 37(1), 4–16 (2002)

    Article  Google Scholar 

  25. Edelkamp, S., Lafuente, A., Leue, S.: Protocol verification with heuristic search. In: AAAI Symposium on Model-based Validation of Intelligence (2001)

    Google Scholar 

  26. Ernst, M.D., Cockrell, J., Griswold, W.G., Notkin, D.: Dynamically discovering likely program invariants to support program evolution. In: International Conference on Software Engineering (ICSE 1999), pp. 213–224 (1999)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Vardhan, A., Sen, K., Viswanathan, M., Agha, G. (2004). Learning to Verify Safety Properties. In: Davies, J., Schulte, W., Barnett, M. (eds) Formal Methods and Software Engineering. ICFEM 2004. Lecture Notes in Computer Science, vol 3308. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30482-1_26

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-30482-1_26

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-23841-6

  • Online ISBN: 978-3-540-30482-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics