Pos(T): Analyzing Dependencies in Typed Logic Programs

Dependencies play a major role in the analysis of program properties. The analysis of groundness dependencies for logic programs using the class of positive Boolean functions is a main applications area. The precision of such an analysis can be improved through the integration of either pattern information or type information. This paper develops an approach in which type information is exploited. Different from previous work, a separate simple analysis is performed for each subtype of the types. If the types are polymorphic, then dependencies for specific type instances are derived from the analysis of the polymorphic typed program.

[1]  Peter J. Stuckey,et al.  A model for inter-module analysis and optimizing compilation , 2000, LOPSTR.

[2]  Peter J. Stuckey,et al.  An Overview of HAL , 1999, CP.

[3]  A. Cortesi,et al.  Prop revisited: propositional formula as abstract domain for groundness analysis , 1991, [1991] Proceedings Sixth Annual IEEE Symposium on Logic in Computer Science.

[4]  John Lloyd,et al.  Foundation of logic programming , 1983 .

[5]  Kim Marriott,et al.  Improving Program Analyses, by Structure Untupling , 2000, J. Log. Program..

[6]  Frédéric Malésieux,et al.  Typed Static Analysis: Application to Groundness Analysis of PROLOG and lambda-PROLOG , 1999, Fuji International Symposium on Functional and Logic Programming.

[7]  Manuel V. Hermenegildo,et al.  Some Issues in Analysis and Specialization of Modular Ciao-Prolog Programs , 1999, WOID@ICLP.

[8]  J. W. Lloyd,et al.  Foundations of logic programming; (2nd extended ed.) , 1987 .

[9]  Bart Demoen,et al.  Analysing Logic Programs Using 'Prop'-ositional Logic Programs and a Magic Wand , 1993, ILPS.

[10]  Krzysztof R. Apt,et al.  Logic Programming , 1990, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[11]  Manuel V. Hermenegildo,et al.  Program Analysis, Debugging, and Optimization Using the Ciao System Preprocessor , 1999, ICLP.

[12]  Pascal Van Hentenryck,et al.  Combinations of abstract domains for logic programming: open product and generic pattern construction , 2000, Sci. Comput. Program..

[13]  Pascal Van Hentenryck,et al.  Experimental Evaluation of a Generic Abstract Interpretation Algorithm for PROLOG , 1992, ACM Trans. Program. Lang. Syst..

[14]  Peter J. Stuckey,et al.  A Framework for Analysis of Typed Logic Programs , 2001, FLOPS.

[15]  Danny De Schreye Program Analysis, Debugging, and Optimization Using the Ciao System Preprocessor , 1999 .

[16]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[17]  Lee Naish Efficient Goal Directed Bottom-up Evaluation of Logic Programs , 1997 .

[18]  Gerda Janssens,et al.  Deriving Descriptions of Possible Values of Program Variables by Means of Abstract Interpretation , 1990, J. Log. Program..

[19]  Andy King,et al.  Mode Analysis Domains for Typed Logic Programs , 1999, LOPSTR.

[20]  John P. Gallagher,et al.  Practical Model-Based Static Analysis for Definite Logic Programs , 1995, ILPS.

[21]  Fausto Spoto,et al.  An Experiment in Domain Refinement: Type Domains and Type Representations for Logic Programs , 1998, PLILP/ALP.

[22]  Zoltan Somogyi,et al.  The Execution Algorithm of Mercury, an Efficient Purely Declarative Logic Programming Language , 1996, J. Log. Program..

[23]  Kim Marriott,et al.  Precise and efficient groundness analysis for logic programs , 1993, LOPL.

[24]  Agostino Cortesi,et al.  Optimal Groundness Analysis Using Propositional Logic , 1996, J. Log. Program..

[25]  Gerda Janssens,et al.  On the Practicality of Abstract Equation Systems , 1995, ICLP.

[26]  Bart Demoen,et al.  Deriving Polymorphic Type Dependencies for Logic Programs Using Multiple Incarnations of Prop , 1994, SAS.

[27]  Wim Vanhoof Binding-Time Analysis by Constraint Solving. A Modular and Higher-Order Approach for Mercury , 2000, LPAR.

[28]  John P. Gallagher,et al.  Fast and Precise Regular Approximations of Logic Programs , 1994, ICLP.

[29]  Roberto Bagnara,et al.  Efficient Structural Information Analysis for Real CLP Languages , 2000, LPAR.

[30]  Maurice Bruynooghe,et al.  A Polyvariant Binding-Time Analysis for Off-line Partial Deduction , 1998, ESOP.