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
Parallel logic programming systems
ACM Computing Surveys (CSUR)
Two classes of Boolean functions for dependency analysis
Science of Computer Programming
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
Precise pair-sharing analysis of logic programs
Proceedings of the 4th ACM SIGPLAN international conference on Principles and practice of declarative programming
An Efficient and Precise Sharing Domain for Logic Programs
PLILP '96 Proceedings of the 8th International Symposium on Programming Languages: Implementations, Logics, and Programs
A Freeness and Sharing Analysis of Logic Programs Based on a Pre-interpretation
SAS '96 Proceedings of the Third International Symposium on Static Analysis
A Comparison of Three Occur-Check Analysers
SAS '96 Proceedings of the Third International Symposium on Static Analysis
Advanced techniques for approximating variable aliasing in logic programs
Advanced techniques for approximating variable aliasing in logic programs
Theory and Practice of Logic Programming
Three optimisations for sharing
Theory and Practice of Logic Programming
Efficient groundness analysis in Prolog
Theory and Practice of Logic Programming
Soundness, idempotence and commutativity of set-sharing
Theory and Practice of Logic Programming
Finite-tree analysis for constraint logic-based languages
Information and Computation
Enhanced sharing analysis techniques: a comprehensive evaluation
Theory and Practice of Logic Programming
ICLP '08 Proceedings of the 24th International Conference on Logic Programming
ICLP'06 Proceedings of the 22nd international conference on Logic Programming
Hi-index | 0.00 |
Sharing analysis is widely deployed in the optimisation, specialisation and parallelisation of logic programs. Each abstract unification operation over the classic Jacobs and Langen domain involves the calculation of a closure operation that has exponential worst-case complexity. This paper explores a new tactic for improving performance: laziness. The idea is to compute partial sharing information eagerly and recover full sharing information lazily. The net result is an analysis that runs in a fraction of the time of the classic analysis and yet has comparable precision.