Abstract interpretation and application to logic programs
Journal of Logic Programming
Precise and efficient groundness analysis for logic programs
ACM Letters on Programming Languages and Systems (LOPLAS)
A remark on infinite matching vs. infinite unification
Journal of Symbolic Computation
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)
Science of Computer Programming
Enhanced sharing analysis techniques: a comprehensive evaluation
Proceedings of the 2nd ACM SIGPLAN international conference on Principles and practice of declarative programming
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
An Application of Abstract Interpretation of Logic Programs: Occur Check Reduction
ESOP '86 Proceedings of the European Symposium on 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
Efficient structural information analysis for real CLP languages
LPAR'00 Proceedings of the 7th international conference on Logic for programming and automated reasoning
Finite-Tree Analysis for Constraint Logic-Based Languages
SAS '01 Proceedings of the 8th International Symposium on Static Analysis
Hi-index | 0.00 |
Several logic-based languages, such as Prolog II and its successors, SICStus Prolog and Oz, offer a computation domain including rational trees that allow for increased expressivity and faster unification. Unfortunately, the use of infinite rational trees has problems. For instance, many of the built-in and library predicates are ill-defined for such trees and need to be supplemented by run-time checks whose cost may be significant. In a recent paper [3], we have proposed a data-flow analysis called finite-tree analysis aimed at identifying those program variables (the finite variables) that are not currently bound to infinite terms. Here we present a domain of Boolean functions, called finite-tree dependencies that precisely captures how the finiteness of some variables influences the finiteness of other variables. We also summarize our experimental results showing how finite-tree analysis, enhanced with finite-tree dependencies is a practical means of obtaining precise finiteness information.