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]  John C. Reynolds,et al.  Automatic computation of data set definitions , 1968, IFIP Congress.

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

[3]  Neil D. Jones,et al.  Complete problems for deterministic polynomial time , 1974, Symposium on the Theory of Computing.

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

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

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

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

[8]  Ken Kennedy,et al.  Fast interprocedual alias analysis , 1989, POPL '89.

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

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

[11]  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.

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

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

[14]  Nevin Heintze Set Based Analysis of ML Programs (Extended Abstract) , 1993 .

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

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

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

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

[19]  Thomas W. Reps,et al.  Demand interprocedural dataflow analysis , 1995, SIGSOFT FSE.

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

[21]  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.

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