An application of abstract interpretation of logic programs: occur check reduction
Proc. of the European symposium on programming on ESOP 86
Static inference of modes and data dependencies in logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Prolog and its performance: exploiting independent and-parallelism
Logic programming
Analysis of constraint logic programs
Proceedings of the 1990 North American conference on Logic programming
Proceedings of the eighth international conference on Logic programming
Proceedings of the eighth international conference on 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
Global flow analysis as a practical compilation tool
Journal of Logic Programming
Freeness analysis for logic programs—and correctness?
ICLP'93 Proceedings of the tenth international conference on logic programming on Logic programming
Combinations of abstract domains for logic programming
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the eleventh international conference on Logic programming
Improving abstract interpretations by combining domains
ACM Transactions on Programming Languages and Systems (TOPLAS)
Complementation in abstract interpretation
ACM Transactions on Programming Languages and Systems (TOPLAS)
The quotient of an abstract interpretation
Theoretical Computer Science
Two classes of Boolean functions for dependency analysis
Science of Computer Programming
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Proceedings of the Third International Symposium on Static Analysis
SAS '96 Proceedings of the Third International Symposium on Static Analysis
Proceedings of the 4th International Symposium on Static Analysis
SAS '97 Proceedings of the 4th International Symposium on Static Analysis
A Synergistic Analysis for Sharing and Groundness with Traces Linearity
ESOP '94 Proceedings of the 5th European Symposium on Programming: Programming Languages and Systems
Complete Abstract Interpretations Made Constructive
MFCS '98 Proceedings of the 23rd International Symposium on Mathematical Foundations of Computer Science
Completeness in Abstract Interpretation: A Domain Perspective
AMAST '97 Proceedings of the 6th International Conference on Algebraic Methodology and Software Technology
Comparison of Abstract Interpretations
ICALP '92 Proceedings of the 19th International Colloquium on Automata, Languages and Programming
Abstracting s-semantincs Using A Model-Theoretic Approach
PLILP '94 Proceedings of the 6th International Symposium on Programming Language Implementation and Logic 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
Annotated Structure Shape Graphs for Abstract Analysis of Prolog
PLILP '96 Proceedings of the 8th International Symposium on Programming Languages: Implementations, Logics, and Programs
Freeness, Sharing, Linearity and Correctness - All at Once
WSA '93 Proceedings of the Third International Workshop on Static Analysis
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
Set-Sharing is Redundant for Pair-Sharing
SAS '97 Proceedings of the 4th International Symposium on Static Analysis
An Algebraic Approach to Sharing Analysis of Logic Programs
SAS '97 Proceedings of the 4th International Symposium on Static Analysis
The Correctness of Set-Sharing
SAS '98 Proceedings of the 5th International Symposium on Static Analysis
Decomposing Non-redundant Sharing by Complementation
SAS '99 Proceedings of the 6th International Symposium on Static Analysis
Conceptual and Software Support for Abstract Domain Design: Generic Structural Domain and Open Product
High performance execution of prolog programs based on a static data dependency analysis (and-parallelism, semi-intelligent backtracking)
Parallel unification scheduling in prolog
Parallel unification scheduling in prolog
Enhanced sharing analysis techniques: a comprehensive evaluation
Proceedings of the 2nd ACM SIGPLAN international conference on Principles and practice of declarative programming
Finite-Tree Analysis for Constraint Logic-Based Languages
SAS '01 Proceedings of the 8th International Symposium on Static Analysis
Pair-independence and freeness analysis through linear refinement
Information and Computation
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
Optimality in goal-dependent analysis of sharing
Theory and Practice of Logic Programming
A general framework for variable aliasing: towards optimal operators for sharing properties
LOPSTR'02 Proceedings of the 12th international conference on Logic based program synthesis and transformation
Efficient structural information analysis for real CLP languages
LPAR'00 Proceedings of the 7th international conference on Logic for programming and automated reasoning
Static analysis, abstract interpretation and verification in (constraint logic) programming
A 25-year perspective on logic programming
FLOPS'06 Proceedings of the 8th international conference on Functional and Logic Programming
Efficient top-down set-sharing analysis using cliques
PADL'06 Proceedings of the 8th international conference on Practical Aspects of Declarative Languages
ICLP'06 Proceedings of the 22nd international conference on Logic Programming
Pair-sharing analysis of object-oriented programs
SAS'05 Proceedings of the 12th international conference on Static Analysis
Hi-index | 5.23 |
Although the usual goal of sharing analysis is to detect which pairs of variables share, the standard choice for sharing analysis is a domain that characterizes set-sharing. In this paper, we question, apparently for the first time, whether this domain is over-complex for pair-sharing analysis. We show that the answer is yes. By defining an equivalence relation over the set-sharing domain we obtain a simpler domain, reducing the complexity of the abstract unification procedure. We present experimental results showing that, in practice, our domain compares favorably with the set-sharing one over a wide range of benchmark and real programs. Copyright 2002 Elsevier Science B.V.