Skip to main content

Lattice Automata: A Representation for Languages on Infinite Alphabets, and Some Applications to Verification

  • Conference paper
Static Analysis (SAS 2007)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4634))

Included in the following conference series:

Abstract

This paper proposes a new abstract domain for languages on infinite alphabets, which acts as a functor taking an abstract domain for a concrete alphabet and lift it to an abstract domain for words on this alphabet. The abstract representation is based on lattice automata, which are finite automata labeled by elements of an atomic lattice. We define a normal form, standard language operations and a widening operator for these automata. We apply this abstract lattice for the verification of symbolic communicating machines, and we discuss its usefulness for interprocedural analysis.

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 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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.

Similar content being viewed by others

References

  1. Le Gall, T., Jeannet, B., Jéron, T.: Verification of communication protocols using abstract interpretation of FIFO queues. In: Johnson, M., Vene, V. (eds.) AMAST 2006. LNCS, vol. 4019, Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  2. Le Gall, T., Jeannet, B.: Analysis of communicating infinite state machines using lattice automata. Technical Report PI 1839, IRISA (2007)

    Google Scholar 

  3. Brand, D., Zafiropulo, P.: On communicating finite-state machines. J. of ACM 30(2) (1983)

    Google Scholar 

  4. Boigelot, B., Godefroid, P., Willems, B., Wolper, P.: The power of QDDs (extended abstract). In: Van Hentenryck, P. (ed.) SAS 1997. LNCS, vol. 1302, Springer, Heidelberg (1997)

    Chapter  Google Scholar 

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

    Google Scholar 

  6. Finkel, A., Iyer, S.P., Sutre, G.: Well-abstracted transition systems: application to FIFO automata. Information and Computation 181(1) (2003)

    Google Scholar 

  7. Peng, W., Puroshothaman, S.: Data flow analysis of communicating finite state machines. ACM Trans. Program. Lang. Syst. 13(3) (1991)

    Google Scholar 

  8. Jeannet, B., Serwe, W.: Abstracting call-stacks for interprocedural verification of imperative programs. In: Rattray, C., Maharaj, S., Shankland, C. (eds.) AMAST 2004. LNCS, vol. 3116, Springer, Heidelberg (2004)

    Google Scholar 

  9. Mauborgne, L.: Tree schemata and fair termination. In: Palsberg, J. (ed.) SAS 2000. LNCS, vol. 1824, Springer, Heidelberg (2000)

    Google Scholar 

  10. Kupferman, O., Lustig, Y.: Lattice automata. In: Cook, B., Podelski, A. (eds.) VMCAI 2007. LNCS, vol. 4349, pp. 199–213. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  11. Logozzo, F.: Separate compositional analysis of class-based object-oriented languages. In: Rattray, C., Maharaj, S., Shankland, C. (eds.) AMAST 2004. LNCS, vol. 3116, pp. 332–346. Springer, Heidelberg (2004)

    Google Scholar 

  12. Neven, F., Schwentick, T., Vianu, V.: Towards regular languages over infinite alphabets. In: Sgall, J., Pultr, A., Kolman, P. (eds.) MFCS 2001. LNCS, vol. 2136, Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  13. Kaminski, M., Francez, N.: Finite-memory automata. Theoretical Computer Science 134(2) (1994)

    Google Scholar 

  14. Milo, T., Suciu, D., Vianu, V.: Typechecking for XML transformers. In: Symp. on Principles of Database Systems (2000)

    Google Scholar 

  15. Bojanczyk, M., Muscholl, A., Schwentick, T., Segoufin, L., David, C.: Two-variable logic on words with data. In: LICS 2006. Symp. on Logic in Computer Science (2006)

    Google Scholar 

  16. Sagiv, M., Reps, T., Wilhelm, R.: Parametric shape analysis via 3-valued logic. In: POPL 1999. Symp. on Principles of Programming Languages (1999)

    Google Scholar 

  17. Yavuz-Kahveci, T., Bultan, T.: Automated verification of concurrent linked lists with counters. In: Hermenegildo, M.V., Puebla, G. (eds.) SAS 2002. LNCS, vol. 2477, Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  18. Distefano, D., O’Hearn, P., Yang, H.: A local shape analysis based on separation logic. In: Hermanns, H., Palsberg, J. (eds.) TACAS 2006 and ETAPS 2006. LNCS, vol. 3920, Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  19. Bouajjani, A., Habermehl, P., Rogalewicz, A., Vojnar, T.: Abstract tree regular model checking of complex dynamic data structures. In: Graf, S., Zhang, W. (eds.) ATVA 2006. LNCS, vol. 4218, Springer, Heidelberg (2006)

    Google Scholar 

  20. Gopan, D., DiMaio, F., Dor, N., Reps, T., Sagiv, M.: Numeric domains with summarized dimensions. In: Jensen, K., Podelski, A. (eds.) TACAS 2004. LNCS, vol. 2988, Springer, Heidelberg (2004)

    Google Scholar 

  21. Feret, J.: Abstract interpretation-based static analysis of mobile ambients. In: Cousot, P. (ed.) SAS 2001. LNCS, vol. 2126, Springer, Heidelberg (2001)

    Google Scholar 

  22. Karr, M.: Affine relationships among variables of a program. Acta Informatica 6 (1976)

    Google Scholar 

  23. Cousot, P., Halbwachs, N.: Automatic discovery of linear restraints among variables of a program. In: POPL 1978. Symp. on Principles of programming languages (1978)

    Google Scholar 

  24. Jeannet, B.: Dynamic partitioning in linear relation analysis. application to the verification of reactive systems. Formal Methods in System Design 23(1) (2003)

    Google Scholar 

  25. Mauborgne, L., Rival, X.: Trace partitioning in abstract interpretation based static analyzers. In: Sagiv, M. (ed.) ESOP 2005. LNCS, vol. 3444, Springer, Heidelberg (2005)

    Google Scholar 

  26. Higuchi, M., Shirakawa, O., Seki, H., Fujii, M., Kasami, T.: A verification procedure via invariant for extended communicating finite-state machines. In: Probst, D.K., von Bochmann, G. (eds.) CAV 1992. LNCS, vol. 663, Springer, Heidelberg (1993)

    Google Scholar 

  27. Lee, D., Ramakrishnan, K.K., Moh, W.M., Shankar, U.: Protocol specification using parameterized communicating extended finite state machines. In: ICNP 1996. Int. Conf. on Network Protocols (1996)

    Google Scholar 

  28. Jeannet, B., Miné, A.: The APRON Numerical Abstract Domain Library. http://apron.cri.ensmp.fr/library/

  29. Esparza, J., Schwoon, S.: A BDD-based model checker for recursive programs. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, Springer, Heidelberg (2001)

    Google Scholar 

  30. Besson, F., Jensen, T., Métayer, D.L., Thorn, T.: Model checking security properties of control flow graphs. J. of Computer Security 9 (2001)

    Google Scholar 

  31. Constant, C., Jeannet, B., Jéron, T.: Automatic test generation from interprocedural specifications. Technical Report PI 1835, IRISA Submitted to TESTCOM/FATES conference (2007)

    Google Scholar 

  32. Sharir, M., Pnueli, A.: Semantic foundations of program analysis. In: Program Flow Analysis: Theory and Applications (1981)

    Google Scholar 

  33. Jones, N.D., Muchnick, S.S.: A flexible approach to interprocedural data flow analysis and programs with recursive data structures. In: POPL 1982. Symp. on Principles of Programming Languages (1982)

    Google Scholar 

  34. Caucal, D.: On the regular structure of prefix rewriting. Theoretical Computer Science 106 (1992)

    Google Scholar 

  35. Esparza, J., Knoop, J.: An automata-theoretic approach to interprocedural data-flow analysis. In: Thomas, W. (ed.) ETAPS 1999 and FOSSACS 1999. LNCS, vol. 1578, Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  36. Bouajjani, A., Esparza, J., Maler, O.: Reachability analysis of pushdown automata: Application to model checking. In: Mazurkiewicz, A., Winkowski, J. (eds.) CONCUR 1997. LNCS, vol. 1243, Springer, Heidelberg (1997)

    Google Scholar 

  37. Finkel, A., Willems, B., Wolper, P.: A direct symbolic approach to model checking pushdown systems. Electronic Notes on Theoretical Computer Science 9 (1997)

    Google Scholar 

  38. Rinetzky, N., Sagiv, M.: Interprocedural shape analysis for recursive programs. In: Wilhelm, R. (ed.) CC 2001 and ETAPS 2001. LNCS, vol. 2027, Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  39. Bozga, M., Fernandez, J.C., Ghirvu, L., Jard, C., Jéron, T., Kerbrat, A., Morel, P., Mounier, L.: Verification and test generation for the SSCOP protocol. Scientific Computer Programming 36(1) (2000)

    Google Scholar 

  40. Rusu, V.: Combining formal verification and conformance testing for validating reactive systems. J. of Software Testing, Verification, and Reliability 13(3) (2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Hanne Riis Nielson Gilberto Filé

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Le Gall, T., Jeannet, B. (2007). Lattice Automata: A Representation for Languages on Infinite Alphabets, and Some Applications to Verification. In: Nielson, H.R., Filé, G. (eds) Static Analysis. SAS 2007. Lecture Notes in Computer Science, vol 4634. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-74061-2_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-74061-2_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-74060-5

  • Online ISBN: 978-3-540-74061-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics