TY - JOUR
T1 - Type dependencies for logic programs using ACI-unification
AU - Codish, Michael
AU - Lagoon, Vitaly
N1 - Funding Information:
(This research was supported by the Israel Science Foundation administered by the Israel Academy of Sciences and Humanities, by the Israel Ministry of Science and Arts and by the EC-Israel Collaboration Activity ISC-IL-90. ∗Corresponding author. E-mail address: [email protected] (M. Codish).
PY - 2000/5/6
Y1 - 2000/5/6
N2 - This paper presents a new notion of typing for logic programs which generalizes the notion of directional types. The generation of type dependencies for a logic program is fully automatic with respect to a given domain of types. The analysis method is based on a novel combination of program abstraction and ACI-unification which is shown to be correct and optimal. Type dependencies are obtained by abstracting programs, replacing concrete terms by their types, and evaluating the meaning of the abstract programs using a standard semantics for logic programs enhanced by ACI-unification. This approach is generic and can be used with any standard semantics. The method is both theoretically clean and easy to implement using general purpose tools. The proposed domain of types is condensing which means that analyses can be carried out in both top-down or bottom-up frameworks with no loss of precision for goal-independent analyses. The proposed method has been fully implemented within a bottom-up approach and the experimental results are promising.
AB - This paper presents a new notion of typing for logic programs which generalizes the notion of directional types. The generation of type dependencies for a logic program is fully automatic with respect to a given domain of types. The analysis method is based on a novel combination of program abstraction and ACI-unification which is shown to be correct and optimal. Type dependencies are obtained by abstracting programs, replacing concrete terms by their types, and evaluating the meaning of the abstract programs using a standard semantics for logic programs enhanced by ACI-unification. This approach is generic and can be used with any standard semantics. The method is both theoretically clean and easy to implement using general purpose tools. The proposed domain of types is condensing which means that analyses can be carried out in both top-down or bottom-up frameworks with no loss of precision for goal-independent analyses. The proposed method has been fully implemented within a bottom-up approach and the experimental results are promising.
KW - ACI unification
KW - Logic programs
KW - Type analysis
UR - http://www.scopus.com/inward/record.url?scp=0000922612&partnerID=8YFLogxK
U2 - 10.1016/S0304-3975(98)00122-4
DO - 10.1016/S0304-3975(98)00122-4
M3 - Article
AN - SCOPUS:0000922612
SN - 0304-3975
VL - 238
SP - 131
EP - 159
JO - Theoretical Computer Science
JF - Theoretical Computer Science
IS - 1-2
ER -