Interconveritibility of Set Constraints and Context-Free Language Reachability

We show the interconvertibility of context-free-language reachability problems and a class of set-constraint problems: given a context-free-language reachability problem, we show how to construct a set-constraint problem whose answer gives a solution to the reachability problem; given a set-constraint problem, we show how to construct a context-free-language reachability problem whose answer gives a solution to the set-constraint problem. The interconvertibility of these two formalisms offers an conceptual advantage akin to the advantage gained from the interconvertibility of finite-state automata and regular expressions in formal language theory, namely, a problem can be formulated in whichever formalism is most natural. It also offers some insight into the "O(n3) bottleneck" for different types of program-analysis problems, and allows results previously obtained for context-free-language reachability problems to be applied to set-constraint problems.

[1]  Neil D. Jones,et al.  Flow analysis and optimization of LISP-like structures , 1979, POPL.

[2]  David A. McAllester,et al.  On the cubic bottleneck in subtyping and flow analysis , 1997, Proceedings of Twelfth Annual IEEE Symposium on Logic in Computer Science.

[3]  John C. Reynolds,et al.  Automatic computation of data set definitions , 1968, IFIP Congress.

[4]  David A. McAllester,et al.  On the complexity of set-based analysis , 1997, ICFP '97.

[5]  David Callahan,et al.  The program summary graph and flow-sensitive interprocedual data flow analysis , 1988, PLDI '88.

[6]  Thomas W. Reps,et al.  Demand Interprocedural Program Analysis Using Logic Databases , 1993, Workshop on Programming with Logic Databases , ILPS.

[7]  Thomas W. Reps,et al.  Speeding up slicing , 1994, SIGSOFT '94.

[8]  Joxan Jaffar,et al.  A decision procedure for a class of set constraints , 1990, [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science.

[9]  Thomas W. Reps,et al.  Shape analysis as a generalized path problem , 1995, PEPM '95.

[10]  David A. McAllester,et al.  Linear-time subtransitive control flow analysis , 1997, PLDI '97.

[11]  Lawrence T. Kou,et al.  On Live-Dead Analysis for Global Data Flow Problems , 1977, JACM.

[12]  Michael J. Fischer,et al.  Boolean Matrix Multiplication and Transitive Closure , 1971, SWAT.

[13]  David W. Binkley,et al.  Interprocedural slicing using dependence graphs , 1990, TOPL.

[14]  Thomas W. Reps,et al.  Precise interprocedural dataflow analysis via graph reachability , 1995, POPL '95.

[15]  Mihalis Yannakakis,et al.  Graph-theoretic methods in database theory , 1990, PODS.

[16]  Neil D. Jones,et al.  Complete problems for deterministic polynomial time , 1974, STOC '74.

[17]  Nevin Charles Heintze,et al.  Set based program analysis , 1992 .

[18]  Thomas Reps,et al.  BTA Termination Using CFL-Reachability , 1996 .

[19]  Dhananjay M. Dhamdhere,et al.  A generalized theory of bit vector data flow analysis , 1994, TOPL.

[20]  Matthew S. Hecht,et al.  Flow Analysis of Computer Programs , 1977 .