Lower-bound Time-complexity Analysis of Logic Programs

The paper proposes a technique for inferring conditions on goals that, when satisfied, ensure that a goal is sufficiently coarse-grained to warrant parallel evaluation. The method is powerful enough to reason about divide-and-conquer programs, and in the case of quicksort, for instance, can infer that a quicksort goal has a time complexity that exceeds 64 resolution steps (a threshold for spawning) if the input list is of length 10 or more. This gives a simple run-time tactic for controlling spawning. The method has been proved correct, can be implemented straightforwardly, has been demonstrated to be useful on a parallel machine, and, in contrast with much of the previous work on time-complexity analysis of logic programs, does not require any complicated difference equation solving machinery.

[1]  Saumya K. Debray,et al.  Lower Bound Cost Estimation for Logic Programs , 1997, ILPS.

[2]  Andy King,et al.  Typed Norms for Typed Logic Programs , 1996, LOPSTR.

[3]  Danny De Schreye,et al.  Automatic Inference of Norms: A Missing Link in Automatic Termination Analysis , 1993, ILPS.

[4]  Michael J. Maher,et al.  Oracle Semantics for Prolog , 1995, Inf. Comput..

[5]  Saumya K. Debray,et al.  Cost analysis of logic programs , 1993, TOPL.

[6]  Andy King,et al.  Inferring Argument Size Relationships with CLP(R) , 1996, LOPSTR.

[7]  Saumya K. Debray,et al.  Non-Failure Analysis for Logic Programs , 1997, ICLP.

[8]  John P. Gallagher,et al.  Regular Approximation of Computation Paths in Logic and Functional Languages , 1996, Dagstuhl Seminar on Partial Evaluation.

[9]  Roberto Giacobazzi,et al.  Generalized Semantics and Abstract Interpretation for Constraint Logic Programs , 1995, J. Log. Program..

[10]  Allen Van Gelder,et al.  Deriving constraints among argument sizes in logic programs , 1990, PODS '90.

[11]  Maurizio Gabbrielli,et al.  The s-Semantics Approach: Theory and Applications , 1994, J. Log. Program..

[12]  Saumya K. Debray,et al.  A Methodology for Granularity-Based Control of Parallelism in Logic Programs , 1996, J. Symb. Comput..

[13]  Saumya K. Debray,et al.  Task granularity analysis in logic programs , 1990, PLDI '90.

[14]  Kish Shen,et al.  Overview of Daswam: Exploitation of Dependent and-Parallelism , 1996, J. Log. Program..

[15]  Nicolas Halbwachs,et al.  Automatic discovery of linear restraints among variables of a program , 1978, POPL.

[16]  Saumya K. Debray,et al.  Global Flow Analysis as a Practical Compilation Tool , 1992, J. Log. Program..

[17]  Manuel V. Hermenegildo,et al.  Efficient Term Size Computation for Granularity Control , 1995, ICLP.

[18]  James R. Larus,et al.  Using the run-time sizes of data structures to guide parallel-thread creation , 1994, LFP '94.

[19]  Henri Beringer,et al.  A CLP Language Handling Disjunctions of Linear Constraints , 1993, ICLP.