An Experiment in Domain Refinement: Type Domains and Type Representations for Logic Programs

We apply the methodology of domain refinement to systematically derive domains for type analysis. Domains are built by iterative application of the Heyting completion operator to a given set of basic types. We give a condition on the type system which assures that two steps of iteration are sufficient to reach the fixpoint. Moreover, we provide a general representation for type domains through transfinite formulas. Finally, we show a subset of finite formulas which can be used as a computationally feasible implementation of the domains and we define the corresponding abstract operators.

[1]  Francesca Scozzari Logical Optimality of Groundness Analysis , 1997, SAS.

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

[3]  Roberto Giacobazzi,et al.  Intuitionistic Implication in Abstract Interpretation , 1997, PLILP.

[4]  Michael Codish,et al.  Type Dependencies for Logic Programs Using ACI-Unification , 2000, ISTCS.

[5]  Michael Kifer,et al.  A first-order theory of types and polymorphism in logic programming , 1991, [1991] Proceedings Sixth Annual IEEE Symposium on Logic in Computer Science.

[6]  Kim Marriott,et al.  Boolean Functions for Dependency Analysis: Algebraic Properties and Efficient Representation , 1994, SAS.

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

[8]  Gilberto Filé,et al.  A unifying view of abstract domain design , 1996, CSUR.

[9]  Uday S. Reddy,et al.  Inference of Polymorphic Types for Logic Programs , 1989, NACLP.

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

[11]  Roberto Barbuti,et al.  A Bottom-Up Polymorphic Type Inference in Logic Programming , 1992, Sci. Comput. Program..

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

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

[14]  Patrick Cousot,et al.  Abstract Interpretation and Application to Logic Programs , 1992, J. Log. Program..

[15]  Tadashi Kanamori,et al.  Polymorphic Type Inference in Prolog by Abstract Interpretation , 1988, LP.

[16]  Thom W. Frühwirth,et al.  Logic programs as types for logic programs , 1991, [1991] Proceedings Sixth Annual IEEE Symposium on Logic in Computer Science.