Constrained Regular Approximation of Logic Programs

Regular approximation is a well-known and useful analysis technique for conventional logic programming. Given the existence of constraint solving techniques, one may wish to obtain more precise approximations of programs while retaining the decidable properties of the approximation. Greater precision could increase the effectiveness of applications that make use of regular approximation, such as the detection of useless clauses and type analysis. In this paper, we introduce arithmetic constraints, based on convex polyhedra, into regular approximation. In addition, Herbrand constraints can be introduced to capture dependencies among arguments.

[1]  Pascal Van Hentenryck,et al.  Type analysis of Prolog using type graphs , 1994, PLDI '94.

[2]  Nicolas Halbwachs,et al.  Verification of Linear Hybrid Systems by Means of Convex Approximations , 1994, SAS.

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

[4]  Danny De Schreye,et al.  Deriving of Linear Size Relations by Abstract Interpretation , 1992, PLILP.

[5]  Prateek Mishra,et al.  Towards a Theory of Types in Prolog , 1984, SLP.

[6]  Patrick Cousot,et al.  Comparing the Galois Connection and Widening/Narrowing Approaches to Abstract Interpretation , 1992, PLILP.

[7]  Allen Van Gelder Deriving Constraints Among Argument Sizes in Logic Programs , 1990, PODS.

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

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

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

[11]  John P. Gallagher,et al.  Static Analysis of Logic Programs Using CLP as a Meta-language , 1996 .

[12]  John P. Gallagher,et al.  Approximating Constraint Logic Programs Using Polymorphic Types and Regular Descriptions , 1995, PLILP.

[13]  Pascal Van Hentenryck,et al.  Type Analysis of Prolog Using Type Graphs , 1995, J. Log. Program..

[14]  Ehud Shapiro,et al.  A Type System for Logic Programs , 1988, J. Log. Program..

[15]  Peter J. Stuckey,et al.  The 3 R's of optimizing constraint logic programs: refinement, removal and reordering , 1993, POPL '93.

[16]  Gerda Janssens,et al.  Abstracting Numerical Values in CLP(H, N) , 1994, PLILP.

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