On the complexity analysis of static analyses

This paper investigates bottom-up logic programming as a formalism for expressing static analyses. The main technical contribution consists of two meta-complexity theorems which allow, in many cases, the asymptotic running time of a bottom-up logic program to be determined by inspection. It is well known that a datalog program runs in O(nk) time where k is the largest number of free variables in any single rule. The theorems given here are significantly more refined. A variety of algorithms given as bottom-up logic programs are analyzed as examples.

[1]  Mike Paterson,et al.  Linear unification , 1976, STOC '76.

[2]  Moshe Y. Vardi The complexity of relational query languages (Extended Abstract) , 1982, STOC '82.

[3]  Jean H. Gallier,et al.  Linear-Time Algorithms for Testing the Satisfiability of Propositional Horn Formulae , 1984, J. Log. Program..

[4]  Jeffrey D. Ullman,et al.  Bottom-up beats top-down for datalog , 1989, PODS '89.

[5]  Keith L. Clark,et al.  Logic-Programming Schemes and Their Implementation , 1991, Computational Logic - Essays in Honor of Alan Robinson.

[6]  Jeffrey F. Naughton,et al.  Bottom-Up Evaluation of Logic Programs , 1991, Computational Logic - Essays in Honor of Alan Robinson.

[7]  Robert Givan,et al.  New Results on Local Inference Relations , 1992, KR.

[8]  Anders Bondorf,et al.  Efficient Analysis for Realistic Off-Line Partial Evaluation , 1993, J. Funct. Program..

[9]  David A. McAllester Automatic recognition of tractability in inference relations , 1993, JACM.

[10]  Nevin Heintze,et al.  Set-based analysis of ML programs , 1994, LFP '94.

[11]  Alexander Aiken,et al.  Soft typing with conditional types , 1994, POPL '94.

[12]  Jens Palsberg,et al.  Efficient inference of partial types , 1992, Proceedings., 33rd Annual Symposium on Foundations of Computer Science.

[13]  Jens Palsberg,et al.  A type system equivalent to flow analysis , 1995, TOPL.

[14]  J. Palsberg Efficient Inference of Object Types , 1996 .

[15]  Harald Ganzinger,et al.  Complexity analysis based on ordered resolution , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

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

[17]  Thomas Reps,et al.  Interconveritibility of Set Constraints and Context-Free Language Reachability , 1997, PEPM.

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

[19]  Alexander Aiken,et al.  Partial online cycle elimination in inclusion constraint graphs , 1998, PLDI.

[20]  Fritz Henglein,et al.  Breaking Through the n3 Barrier: Faster Object Type Inference , 1999, Theory Pract. Object Syst..

[21]  Harald Ganzinger,et al.  Automated complexity analysis based on ordered resolution , 2001, JACM.