Deciding $k$CFA is complete for EXPTIME

We give an exact characterization of the computational complexity of the kCFA hierarchy. For any k > 0, we prove that the control flow decision problem is complete for deterministic exponential time. This theorem validates empirical observations that such control flow analysis is intractable. It also provides more general insight into the complexity of abstract interpretation.

[1]  Matthew Might,et al.  Improving flow analyses via ΓCFA: abstract garbage collection and counting , 2006, ICFP '06.

[2]  Christian Mossin,et al.  Exact flow analysis , 1997, Mathematical Structures in Computer Science.

[3]  Suresh Jagannathan,et al.  Single and loving it: must-alias analysis for higher-order languages , 1998, POPL '98.

[4]  Harry G. Mairson Deciding ML typability is complete for deterministic exponential time , 1989, POPL '90.

[5]  Olin Shivers,et al.  Control flow analysis in scheme , 1988, PLDI '88.

[6]  Chris Hankin,et al.  The theory of strictness analysis for higher order functions , 1985, Programs as Data Objects.

[7]  Harry G. Mairson,et al.  Undecidable Boundedness Problems for Datalog Programs , 1995, J. Log. Program..

[8]  Olin Shivers Higher-order control-flow analysis in retrospect: lessons learned, lessons abandoned , 2004, SIGP.

[9]  R. Ladner The circuit value problem is log space complete for P , 1975, SIGA.

[10]  Peter Sestoft,et al.  Replacing function parameters by global variables , 1989, FPCA.

[11]  Neil D. Jones,et al.  Flow Analysis of Lambda Expressions (Preliminary Version) , 1981, ICALP.

[12]  Harry G. Mairson,et al.  Types, potency, and idempotency: why nonlinearity and amnesia make a type system work , 2004, ICFP '04.

[13]  Flemming Nielson,et al.  Principles of Program Analysis , 1999, Springer Berlin Heidelberg.

[14]  Olin Shivers,et al.  Control-flow analysis of higher-order languages of taming lambda , 1991 .

[15]  Harry G. Mairson,et al.  Flow Analysis, Linearity, and PTIME , 2008, SAS.

[16]  Suresh Jagannathan,et al.  Polymorphic splitting: an effective polyvariant flow analysis , 1998, TOPL.

[17]  Flemming Nielson,et al.  Infinitary control flow analysis: a collecting semantics for closure analysis , 1997, POPL '97.

[18]  Harry G. Mairson Linear lambda calculus and PTIME-completeness , 2004, J. Funct. Program..

[19]  Matthew Might,et al.  Environment Analysis of Higher-Order Languages , 2007 .

[20]  Harry G. Mairson,et al.  Relating complexity and precision in control flow analysis , 2007, ICFP '07.

[21]  Harry G. Mairson,et al.  Undecidable optimization problems for database logic programs , 1993, JACM.