Declarative modeling of the operational behavior of logic languages
Theoretical Computer Science
A practical framework for the abstract interpretation of logic programs
Journal of Logic Programming
Static analysis of logic programs for independent and parallelism
Journal of Logic Programming
Compile-time derivation of variable dependency using abstract interpretation
Journal of Logic Programming
Improving abstract interpretations by combining domains
ACM Transactions on Programming Languages and Systems (TOPLAS)
Sharing and groundness dependencies in logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Set-sharing is redundant for pair-sharing
Theoretical Computer Science
An Application of Abstract Interpretation of Logic Programs: Occur Check Reduction
ESOP '86 Proceedings of the European Symposium on Programming
A Bottom-Up Analysis Toolkit
Finite-tree analysis for constraint logic-based languages
Information and Computation
Enhanced sharing analysis techniques: a comprehensive evaluation
Theory and Practice of Logic Programming
FLOPS'06 Proceedings of the 8th international conference on Functional and Logic Programming
VMCAI'06 Proceedings of the 7th international conference on Verification, Model Checking, and Abstract Interpretation
ICLP '08 Proceedings of the 24th International Conference on Logic Programming
Hi-index | 0.00 |
A description in the Jacobs and Langen domain is a set of sharing groups where each sharing group is a set of program variables. The presence of a sharing group in a description indicates that all the variables in the group can be bound to terms that contain a common variable. The expressiveness of the domain, alas, is compromised by its intractability. Not only are descriptions potentially exponential in size, but abstract unification is formulated in terms of an operation, called closure under union, that is also exponential. This paper shows how abstract unification can be reformulated so that closures can be collapsed in two senses. Firstly, one closure operation can be folded into another so as to reduce the total number of closures that need to be computed. Secondly, the remaining closures can be applied to smaller descriptions. Therefore, although the operation remains exponential, the overhead of closure calculation is reduced. Experimental evaluation suggests that the cost of analysis can be substantially reduced by collapsing closures.