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
PEPM '93 Proceedings of the 1993 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Proceedings of the eleventh international conference on Logic programming
Program analysis, debugging, and optimization using the ciao system preprocessor
Proceedings of the 1999 international conference on Logic programming
Incremental analysis of constraint logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Set-sharing is redundant for pair-sharing
Theoretical Computer Science
PPDP '99 Proceedings of the International Conference PPDP'99 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
Theory and Practice of Logic Programming
ICLP '08 Proceedings of the 24th International Conference on Logic Programming
Hi-index | 0.00 |
We study the problem of efficient, scalable set-sharing analysis of logic programs. We use the idea of representing sharing information as a pair of abstract substitutions, one of which is a worst-case sharing representation called a clique set, which was previously proposed for the case of inferring pair-sharing. We use the clique-set representation for (1) inferring actual set-sharing information, and (2) analysis within a top-down framework. In particular, we define the new abstract functions required by standard top-down analyses, both for sharing alone and also for the case of including freeness in addition to sharing. We use cliques both as an alternative representation and as widening, defining several widening operators. Our experimental evaluation supports the conclusion that, for inferring set-sharing, as it was the case for inferring pair-sharing, precision losses are limited, while useful efficiency gains are obtained. We also derive useful conclusions regarding the interactions between thresholds, precision, efficiency and cost of widening. At the limit, the clique-set representation allowed analyzing some programs that exceeded memory capacity using classical sharing representations.