On derived dependencies and connected databases
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)
Practical program analysis using general purpose logic programming systems—a case study
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
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
Sharing and groundness dependencies in 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
Quotienting Share for Dependency Analysis
ESOP '99 Proceedings of the 8th European Symposium on Programming Languages and Systems
Positive Boolean Functions as Multiheaded Clauses
Proceedings of the 17th International Conference on Logic Programming
Logic Programs as Compact Denotations
PADL '03 Proceedings of the 5th International Symposium on Practical Aspects of Declarative Languages
The Def-inite Approach to Dependency Analysis
ESOP '01 Proceedings of the 10th European Symposium on Programming Languages and Systems
Logic programs as compact denotations
Computer Languages, Systems and Structures
Hi-index | 0.00 |
The domain of definite Boolean functions, Def, can be used to express the groundness of, and trace grounding dependencies between, program variables in (constraint) logic programs. In this paper, previously unexploited computational properties of Def are utilised to develop an efficient and succinct groundness analyser that can be coded in Prolog. In particular, entailment checking is used to prevent unnecessary least upper bound calculations. It is also demonstrated that join can be defined in terms of other operations, thereby eliminating code and removing the need for preprocessing formulae to a normal form. This saves space and time. Furthermore, the join can be adapted to straightforwardly implement the downward closure operator that arises in set sharing analyses. Experimental results indicate that the new Def implementation gives favourable results in comparison with BDD-based groundness analyses.