TY - JOUR
T1 - Algebraic approach to sharing analysis of logic programs
AU - Codish, Michael
AU - Lagoon, Vitaly
AU - Bueno, Francisco
N1 - Funding Information:
Two or more variables in a logic program are said to be aliased if in some execution of the program they are bound to terms which contain a common variable. A variable in a logic program is said to be ground if it is bound to a ground term in * Corresponding author. Tel.: +61-3-9287-9100; fax: +61-3-9348-l 184; e-mail: [email protected]. ’ This work was supported by grants from the Israel Science Foundation and the Israeli Ministry Science. * E-mail: [email protected].
PY - 2000/1/1
Y1 - 2000/1/1
N2 - This paper describes an algebraic approach to the sharing analysis of logic programs based on an abstract domain of set logic programs. Set logic programs are logic programs in which the terms are sets of variables and unification is based on an associative, commutative, and idempotent equality theory. All of the basic operations required for sharing analyses, as well as their formal justification, are based on simple algebraic properties of set substitutions and set-based atoms. An ordering on set-based syntactic objects, similar to `less general' on concrete syntactic objects, is shown to reflect the notion of `less sharing' information. The (abstract) unification of a pair of set-based terms corresponds to finding their most general ACI1 unifier with respect to this ordering. The unification of a set of equations between set-based terms is defined exactly as in the concrete case, by solving the equations one by one and repeatedly applying their solutions to the remaining equations. We demonstrate that all of the operations in a sharing analysis have natural definitions which are both correct and optimal.
AB - This paper describes an algebraic approach to the sharing analysis of logic programs based on an abstract domain of set logic programs. Set logic programs are logic programs in which the terms are sets of variables and unification is based on an associative, commutative, and idempotent equality theory. All of the basic operations required for sharing analyses, as well as their formal justification, are based on simple algebraic properties of set substitutions and set-based atoms. An ordering on set-based syntactic objects, similar to `less general' on concrete syntactic objects, is shown to reflect the notion of `less sharing' information. The (abstract) unification of a pair of set-based terms corresponds to finding their most general ACI1 unifier with respect to this ordering. The unification of a set of equations between set-based terms is defined exactly as in the concrete case, by solving the equations one by one and repeatedly applying their solutions to the remaining equations. We demonstrate that all of the operations in a sharing analysis have natural definitions which are both correct and optimal.
UR - http://www.scopus.com/inward/record.url?scp=0034135741&partnerID=8YFLogxK
U2 - 10.1016/S0743-1066(99)00007-2
DO - 10.1016/S0743-1066(99)00007-2
M3 - Article
AN - SCOPUS:0034135741
SN - 0743-1066
VL - 42
SP - 111
EP - 149
JO - Journal of Logic Programming
JF - Journal of Logic Programming
IS - 2
ER -