String Analysis as an Abstract Interpretation

  • Se-Won Kim
  • Kwang-Moo Choe
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6538)

Abstract

We formalize a string analysis within abstract interpretation framework. The abstraction of strings is given as a conjunction of predicates that describes the common configuration changes on the reference pushdown automaton while processing the strings. We also present a family of pushdown automata called ε bounded pushdown automata. This family covers all context-free languages, and by using this family of pushdown automata, we can prevent abstract values from becoming infinite conjunctions and guarantee that the operations required in the analyzer are computable.

Keywords

Production Rule Abstract Interpretation Input Symbol Abstract Domain Galois Connection 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Alur, R., Madhusudan, P.: Visibly pushdown languages. In: STOC 2004: Proceedings of the Thirty-Sixth Annual ACM Symposium on Theory of Computing, pp. 202–211. ACM, New York (2004)CrossRefGoogle Scholar
  2. 2.
    Bates, J., Lavie, A.: Recognizing substrings of LR(k) languages in linear time. ACM Trans. Program. Lang. Syst. 16(3), 1051–1077 (1994)CrossRefGoogle Scholar
  3. 3.
    Billot, S., Lang, B.: The structure of shared forests in ambiguous parsing. In: Proceedings of the 27th Annual Meeting on Association for Computational Linguistics, pp. 143–151. Association for Computational Linguistics, Morristown (1989)CrossRefGoogle Scholar
  4. 4.
    Choi, T.-H., Lee, O., Kim, H., Doh, K.-G.: A practical string analyzer by the widening approach. In: APLAS, pp. 374–388 (2006)Google Scholar
  5. 5.
    Christensen, A.S., Møller, A., Schwartzbach, M.I.: Precise analysis of string expressions. In: Cousot, R. (ed.) SAS 2003. LNCS, vol. 2694, pp. 1–18. Springer, Heidelberg (2003), http://www.brics.dk/JSA/ CrossRefGoogle Scholar
  6. 6.
    Cousot, P., Cousot, R.: Abstract interpretation frameworks. Journal of Logic and Computation 2(4), 511–547 (1992)MathSciNetCrossRefMATHGoogle Scholar
  7. 7.
    Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: POPL 1977: Proceedings of the 4th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, pp. 238–252. ACM, New York (1977)Google Scholar
  8. 8.
    Cousot, P., Cousot, R.: Systematic design of program analysis frameworks. In: POPL 1979: Proceedings of the 6th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, pp. 269–282. ACM, New York (1979)Google Scholar
  9. 9.
    Doh, K.-G., Kim, H., Schmidt, D.A.: Abstract parsing: Static analysis of dynamically generated string output using LR-parsing technology. In: Palsberg, J., Su, Z. (eds.) SAS 2009. LNCS, vol. 5673, pp. 256–272. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  10. 10.
    Friedman, E.P.: The inclusion problem for simple languages. Theor. Comput. Sci. 1(4), 297–316 (1976)MathSciNetCrossRefMATHGoogle Scholar
  11. 11.
    Goeman, H.: On parsing and condensing substrings of LR languages in linear time. Theor. Comput. Sci. 267(1-2), 61–82 (2001)MathSciNetCrossRefMATHGoogle Scholar
  12. 12.
    Greibach, S.A., Friedman, E.P.: Superdeterministic pdas: A subcase with a decidable inclusion problem. J. ACM 27(4), 675–700 (1980)MathSciNetCrossRefMATHGoogle Scholar
  13. 13.
    Greibach, S.A.: A new normal-form theorem for context-free phrase structure grammars. J. ACM 12(1), 42–52 (1965)MathSciNetCrossRefMATHGoogle Scholar
  14. 14.
    Kim, S.-W.: Proofs for formalizing string analysis within abstract interpretation framework. Technical report, KAIST (2010), http://pllab.kaist.ac.kr/~sewon.kim/papers/pf-saai-tr.pdf
  15. 15.
    Kirkegaard, C., Møller, A.: Static analysis for java servlets and JSP. In: Yi, K. (ed.) SAS 2006. LNCS, vol. 4134, pp. 336–352. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  16. 16.
    Knuth, D.E.: A characterization of parenthesis languages. Information and Control 11(3), 269–289 (1967)CrossRefMATHGoogle Scholar
  17. 17.
    Kong, S., Choi, W., Yi, K.: Abstract parsing for two-staged languages with concatenation. In: GPCE 2009: Proceedings of the Eighth International Conference on Generative Programming and Component Engineering, pp. 109–116. ACM, New York (2009)CrossRefGoogle Scholar
  18. 18.
    Lang, B.: Deterministic techniques for efficient non-deterministic parsers. In: Loeckx, J. (ed.) ICALP 1974. LNCS, vol. 14, pp. 255–269. Springer, Heidelberg (1974)CrossRefGoogle Scholar
  19. 19.
    Lang, B.: Parsing incomplete sentences. In: Proceedings of the 12th conference on Computational linguistics, pp. 365–371. ACL, Morristown (1988)CrossRefGoogle Scholar
  20. 20.
    Mauborgne, L., Rival, X.: Trace partitioning in abstract interpretation based static analyzers. In: Sagiv, M. (ed.) ESOP 2005. LNCS, vol. 3444, pp. 5–20. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  21. 21.
    Minamide, Y.: Static approximation of dynamically generated web pages. In: WWW 2005: Proceedings of the 14th International Conference on World Wide Web, pp. 432–441. ACM, New York (2005)Google Scholar
  22. 22.
    Minamide, Y., Tozawa, A.: Xml validation for context-free grammars. In: APLAS, pp. 357–373 (2006)Google Scholar
  23. 23.
    Nederhof, M.-J., Bertsch, E.: Linear-time suffix parsing for deterministic languages. J. ACM 43(3), 524–554 (1996)MathSciNetCrossRefMATHGoogle Scholar
  24. 24.
    Vallée-Rai, R., Hendren, L., Sundaresan, V., Lam, P., Gagnon, E., Co, P.: Soot - a java optimization framework. In: Proceedings of CASCON 1999, pp. 125–135 (1999)Google Scholar
  25. 25.
    Rekers, J., Koorn, W.: Substring parsing for arbitrary context-free grammars. SIGPLAN Not. 26(5), 59–66 (1991)CrossRefGoogle Scholar
  26. 26.
    Thiemann, P.: Grammar-based analysis of string expressions. In: TLDI 2005: Proceedings of the 2005 ACM SIGPLAN International Workshop on Types in Languages Design and Implementation, pp. 59–70. ACM, New York (2005)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Se-Won Kim
    • 1
  • Kwang-Moo Choe
    • 1
  1. 1.Korea Advanced Institute of Science and TechnologySouth Korea

Personalised recommendations