String Analysis as an Abstract Interpretation

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 e 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.

[1]  Yasuhiko Minamide,et al.  Static approximation of dynamically generated Web pages , 2005, WWW '05.

[2]  Xavier Rival,et al.  Trace Partitioning in Abstract Interpretation Based Static Analyzers , 2005, ESOP.

[3]  Patrick Cousot,et al.  Abstract Interpretation Frameworks , 1992, J. Log. Comput..

[4]  Alon Lavie,et al.  Recognizing substrings of LR(k) languages in linear time , 1994, TOPL.

[5]  Sheila A. Greibach,et al.  A New Normal-Form Theorem for Context-Free Phrase Structure Grammars , 1965, JACM.

[6]  Bernard Lang,et al.  Parsing Incomplete Sentences , 1988, COLING.

[7]  공순호 Abstract Parsing for Two-staged Languages with Concatenation , 2009 .

[8]  Peter Thiemann Grammar-based analysis of string expressions , 2005, TLDI '05.

[9]  Mark-Jan Nederhof,et al.  Linear-time suffix parsing for deterministic languages , 1996, JACM.

[10]  Sheila A. Greibach,et al.  Superdeterministic PDAs , 1980, J. ACM.

[11]  Aske Simon Christensen,et al.  Precise Analysis of String Expressions , 2003, SAS.

[12]  David A. Schmidt,et al.  Abstract Parsing: Static Analysis of Dynamically Generated String Output Using LR-Parsing Technology , 2009, SAS.

[13]  Donald E. Knuth,et al.  A Characterization of Parenthesis Languages , 1967, Inf. Control..

[14]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[15]  Akihiko Tozawa,et al.  XML Validation for Context-Free Grammars , 2006, APLAS.

[16]  Patrick Cousot,et al.  Systematic design of program analysis frameworks , 1979, POPL.

[17]  Emily P. Friedman The Inclusion Problem for Simple Languages , 1976, Theor. Comput. Sci..

[18]  Robin Milner,et al.  On Observing Nondeterminism and Concurrency , 1980, ICALP.

[19]  Kyung-Goo Doh,et al.  A Practical String Analyzer by the Widening Approach , 2006, APLAS.

[20]  Christian Kirkegaard,et al.  Static Analysis for Java Servlets and JSP , 2006 .

[21]  Laurie Hendren,et al.  Soot---a java optimization framework , 1999 .

[22]  Rajeev Alur,et al.  Visibly pushdown languages , 2004, STOC '04.

[23]  Wilco Koorn,et al.  Substring parsing for arbitrary context-free grammars , 1991, SIGP.

[24]  Bernard Lang,et al.  The Structure of Shared Forests in Ambiguous Parsing , 1989, ACL.

[25]  Brian Campbell,et al.  Amortised Memory Analysis Using the Depth of Data Structures , 2009, ESOP.

[26]  Heiko Goeman On Parsing and Condensing Substrings of LR Languages in Linear Time , 1998, Workshop on Implementing Automata.