Advertisement

A Parametric Abstract Domain for Lattice-Valued Regular Expressions

  • Jan Midtgaard
  • Flemming Nielson
  • Hanne Riis Nielson
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9837)

Abstract

We present a lattice-valued generalization of regular expressions as an abstract domain for static analysis. The parametric abstract domain rests on a generalization of Brzozowski derivatives and works for both finite and infinite lattices. We develop both a co-inductive, simulation algorithm for deciding ordering between two domain elements and a widening operator for the domain. Finally we illustrate the domain with a static analysis that analyses a communicating process against a lattice-valued regular expression expressing the environment’s network communication.

Keywords

Equivalence Class Regular Expression Complete Lattice Regular Language Widening Operator 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

References

  1. 1.
    Alur, R., Dill, D.L.: A theory of timed automata. TCS 126(2), 183–235 (1994)MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
    Alur, R., Henzinger, T.A., Vardi, M.Y.: Parametric real-time reasoning. In: STOC 1993, pp. 592–601 (1993)Google Scholar
  3. 3.
    Arden, D.N.: Delayed-logic and finite-state machines. In: 2nd Annual Symposium on Switching Circuit Theory and Logical Design, pp. 133–151. IEEE Computer Society (1961)Google Scholar
  4. 4.
    Bourdoncle, F.: Abstract debugging of higher-order imperative languages. In: PLDI 1993, pp. 46–55 (1993)Google Scholar
  5. 5.
    Brand, D., Zafiropulo, P.: On communicating finite state machines. JACM 30, 323–342 (1983)MathSciNetCrossRefzbMATHGoogle Scholar
  6. 6.
    Brzozowski, J.A.: Derivatives of regular expressions. JACM 11(4), 481–494 (1964)MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Cousot, P., Cousot, R.: Static determination of dynamic properties of programs. In: ISOP 1976, pp. 106–130. Dunod, Paris (1976)Google Scholar
  8. 8.
    Cousot, P., Cousot, R.: Semantic analysis of communicating sequential processes. In: de Bakker, J., van Leeuwen, J. (eds.) ICALP 1980. LNCS, vol. 85, pp. 119–133. Springer, Heidelberg (1980)CrossRefGoogle Scholar
  9. 9.
    Cousot, P., Cousot, R.: Abstract interpretation and application to logic programs. J. Logic Program. 13(2–3), 103–179 (1992)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Davey, B.A., Priestley, H.A.: Introduction to Lattices and Order, 2nd edn. Cambridge University Press, Cambridge (2002)CrossRefzbMATHGoogle Scholar
  11. 11.
    Feret, J.: Abstract interpretation-based static analysis of mobile ambients. In: Cousot, P. (ed.) SAS 2001. LNCS, vol. 2126, pp. 412–430. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  12. 12.
    Le Gall, T., Jeannet, B.: Lattice automata: a representation for languages on infinite alphabets, and some applications to verification. In: Riis Nielson, H., Filé, G. (eds.) SAS 2007. LNCS, vol. 4634, pp. 52–68. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  13. 13.
    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, pp. 204–219. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  14. 14.
    Grabmayer, C.: Using proofs by coinduction to find “Traditional” proofs. In: Fiadeiro, J.L., Harman, N.A., Roggenbach, M., Rutten, J. (eds.) CALCO 2005. LNCS, vol. 3629, pp. 175–193. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  15. 15.
    Grätzer, G.: General Lattice Theory. Academic Press, New York (1978)CrossRefzbMATHGoogle Scholar
  16. 16.
    Rydhof Hansen, R., Jensen, J.G., Nielson, F., Riis Nielson, H.: Abstract interpretation of mobile ambients. In: Cortesi, A., Filé, G. (eds.) SAS 1999. LNCS, vol. 1694, pp. 134–148. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  17. 17.
    Henglein, F., Nielsen, L.: Regular expression containment: coinductive axiomatization and computational interpretation. In: POPL 2011, pp. 385–398 (2011)Google Scholar
  18. 18.
    Hoare, T., van Staden, S., Möller, B., Struth, G., Villard, J., Zhu, H., O’Hearn, P.: Developments in concurrent Kleene Algebra. In: Höfner, P., Jipsen, P., Kahl, W., Müller, M.E. (eds.) RAMiCS 2014. LNCS, vol. 8428, pp. 1–18. Springer, Heidelberg (2014)CrossRefGoogle Scholar
  19. 19.
    Kozen, D.: A completeness theorem for Kleene algebras and the algebra of regular events. Inf. Comput. 110(2), 366–390 (1994)MathSciNetCrossRefzbMATHGoogle Scholar
  20. 20.
    Lesens, D., Halbwachs, N., Raymond, P.: Automatic verification of parameterized linear networks of processes. In: POPL 1997, pp. 346–357 (1997)Google Scholar
  21. 21.
    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. 334–348. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  22. 22.
    Martin, J.C.: Introduction to Languages and the Theory of Computation. McGraw-Hill, New York (1997)zbMATHGoogle Scholar
  23. 23.
    Mauborgne, L.: Tree schemata and fair termination. In: Palsberg, J. (ed.) SAS 2000. LNCS, vol. 1824, pp. 302–319. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  24. 24.
    Midtgaard, J., Møller, A.: Quickchecking static analysis properties. In: ICST 2015, pp. 1–10. IEEE Computer Society (2015)Google Scholar
  25. 25.
    Owens, S., Reppy, J., Turon, A.: Regular-expression derivatives re-examined. J. Funct. Program. 19(2), 173–190 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
  26. 26.
    Rosu, G., Viswanathan, M.: Testing extended regular language membership incrementally by rewriting. In: Nieuwenhuis, R. (ed.) RTA 2003. LNCS, vol. 2706, pp. 499–514. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  27. 27.
    Salomaa, A.: Two complete axiom systems for the algebra of regular events. JACM 13(1), 158–169 (1966)MathSciNetCrossRefzbMATHGoogle Scholar
  28. 28.
    Vasconcelos, V.T., Gay, S., Ravara, A.: Typechecking a multithreaded functional language with session types. TCS 368(1–2), 64–87 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  29. 29.
    Venet, A.: Abstract cofibered domains: application to the alias analysis of untyped programs. In: Cousot, R., Schmidt, D.A. (eds.) SAS 1996. LNCS, vol. 1145, pp. 366–382. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  30. 30.
    Venet, A.: Automatic determination of communication topologies in mobile systems. In: Levi, G. (ed.) SAS 1998. LNCS, vol. 1503, pp. 152–167. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  31. 31.
    Zafiropulo, P., West, C.H., Rudin, H., Cowan, D.D., Brand, D.: Towards analyzing and synthesizing protocols. IEEE Trans. Commun. Com–28(4), 651–661 (1980)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag GmbH Germany 2016

Authors and Affiliations

  • Jan Midtgaard
    • 1
  • Flemming Nielson
    • 1
  • Hanne Riis Nielson
    • 1
  1. 1.DTU Compute, Technical University of DenmarkKongens LyngbyDenmark

Personalised recommendations