An amateur's introduction to recursive query processing strategies
SIGMOD '86 Proceedings of the 1986 ACM SIGMOD international conference on Management of data
On derived dependencies and connected databases
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
A CLP language handling disjunctions of linear constraints
ICLP'93 Proceedings of the tenth international conference on logic programming on Logic programming
Experimental evaluation of a generic abstract interpretation algorithm for PROLOG
ACM Transactions on Programming Languages and Systems (TOPLAS)
Precise and efficient groundness analysis for logic programs
ACM Letters on Programming Languages and Systems (LOPLAS)
Fast and precise regular approximations of logic programs
Proceedings of the eleventh international conference on Logic programming
Global analysis of constraint logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Two classes of Boolean functions for dependency analysis
Science of Computer Programming
Optimizing compilation of CLP( R )
ACM Transactions on Programming Languages and Systems (TOPLAS)
Sharing and groundness dependencies in logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
A faster solver for general systems of equations
Science of Computer Programming
Incremental analysis of constraint logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Global Analysis of Standard Prolog Programs
ESOP '96 Proceedings of the 6th European Symposium on Programming Languages and Systems
PLILP '93 Proceedings of the 5th International Symposium on Programming Language Implementation and Logic Programming
A Reactive Implementation of Pos Using ROBDDs
PLILP '96 Proceedings of the 8th International Symposium on Programming Languages: Implementations, Logics, and Programs
Memoing Evaluation by Source-to-Source Transformation
LOPSTR '95 Proceedings of the 5th International Workshop on Logic Programming Synthesis and Transformation
An Even Faster Solver for General Systems of Equations
SAS '96 Proceedings of the Third International Symposium on Static Analysis
Worst-case groundness analysis using definite Boolean functions
Theory and Practice of Logic Programming
Test frame updating in CPM testing of Prolog programs
Software Quality Control
Automated termination analysis for logic programs with cut*
Theory and Practice of Logic Programming
Dependency triples for improving termination analysis of logic programs with cut
LOPSTR'10 Proceedings of the 20th international conference on Logic-based program synthesis and transformation
FLOPS'06 Proceedings of the 8th international conference on Functional and Logic Programming
VMCAI'06 Proceedings of the 7th international conference on Verification, Model Checking, and Abstract Interpretation
On the new application of call patterns to CPM testing of prolog programs
AI'06 Proceedings of the 19th Australian joint conference on Artificial Intelligence: advances in Artificial Intelligence
A pearl on SAT solving in prolog
FLOPS'10 Proceedings of the 10th international conference on Functional and Logic Programming
A pearl on SAT and SMT solving in Prolog
Theoretical Computer Science
Generation of test data structures using constraint logic programming
TAP'12 Proceedings of the 6th international conference on Tests and Proofs
Symbolic evaluation graphs and term rewriting: a general methodology for analyzing logic programs
Proceedings of the 14th symposium on Principles and practice of declarative programming
Theory propagation and rational-trees
Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming
Hi-index | 0.00 |
Boolean functions can be used to express the groundness of, and trace grounding dependencies between, program variables in (constraint) logic programs. In this paper, a variety of issues pertaining to the efficient Prolog implementation of groundness analysis are investigated, focusing on the domain of definite Boolean functions, Def. The systematic design of the representation of an abstract domain is discussed in relation to its impact on the algorithmic complexity of the domain operations; the most frequently called operations should be the most lightweight. This methodology is applied to Def, resulting in a new representation, together with new algorithms for its domain operations utilising previously unexploited properties of Def – for instance, quadratic-time entailment checking. The iteration strategy driving the analysis is also discussed and a simple, but very effective, optimisation of induced magic is described. The analysis can be implemented straightforwardly in Prolog and the use of a non-ground representation results in an efficient, scalable tool which does not require widening to be invoked, even on the largest benchmarks. An extensive experimental evaluation is given.