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
Proceedings of the eleventh international conference on Logic programming
A Machine-Oriented Logic Based on the Resolution Principle
Journal of the ACM (JACM)
Enhanced sharing analysis techniques: a comprehensive evaluation
Proceedings of the 2nd ACM SIGPLAN international conference on Principles and practice of declarative programming
An Efficient Unification Algorithm
ACM Transactions on Programming Languages and Systems (TOPLAS)
Set-sharing is redundant for pair-sharing
Theoretical Computer Science
A Synergistic Analysis for Sharing and Groundness with Traces Linearity
ESOP '94 Proceedings of the 5th European Symposium on Programming: Programming Languages and Systems
PPDP '99 Proceedings of the International Conference PPDP'99 on Principles and Practice of Declarative Programming
Freeness, Sharing, Linearity and Correctness - All at Once
WSA '93 Proceedings of the Third International Workshop on Static Analysis
Set-Sharing is Redundant for Pair-Sharing
SAS '97 Proceedings of the 4th International Symposium on Static Analysis
Advanced techniques for approximating variable aliasing in logic programs
Advanced techniques for approximating variable aliasing in logic programs
Decomposing non-redundant sharing by complementation
Theory and Practice of Logic Programming
Boolean Functions for Finite-Tree Dependencies
LPAR '01 Proceedings of the Artificial Intelligence on Logic for Programming
Finite-Tree Analysis for Constraint Logic-Based Languages
SAS '01 Proceedings of the 8th International Symposium on Static Analysis
Theory and Practice of Logic Programming
Three optimisations for sharing
Theory and Practice of Logic Programming
Finite-tree analysis for constraint logic-based languages
Information and Computation
Non-strict independence-based program parallelization using sharing and freeness information
Theoretical Computer Science
FLOPS'06 Proceedings of the 8th international conference on Functional and Logic Programming
Hi-index | 0.00 |
It is important that practical data-flow analyzers are backed by reliably proven theoretical results. Abstract interpretation provides a sound mathematical framework and necessary generic properties for an abstract domain to be well-defined and sound with respect to the concrete semantics. In logic programming, the abstract domain Sharing is a standard choice for sharing analysis for both practical work and further theoretical study. In spite of this, we found that there were no satisfactory proofs for the key properties of commutativity and idempotence that are essential for Sharing to be well-defined and that published statements of the soundness of Sharing assume the occurs-check. This paper provides a generalization of the abstraction function for Sharing that can be applied to any language, with or without the occurs-check. Results for soundness, idempotence and commutativity for abstract unification using this abstraction function are proven.