The craft of Prolog
Determinacy analysis for full Prolog
PEPM '91 Proceedings of the 1991 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Detecting determinate computations by bottom-up abstract interpretation
ESOP'92 Symposium proceedings on 4th European symposium on programming
Cost analysis of logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Extracting determinacy in logic programs
ICLP'93 Proceedings of the tenth international conference on logic programming on Logic programming
Cardinality analysis of Prolog
ILPS '94 Proceedings of the 1994 International Symposium on Logic programming
Two classes of Boolean functions for dependency analysis
Science of Computer Programming
The Semantics of Predicate Logic as a Programming Language
Journal of the ACM (JACM)
A Polyvariant Binding-Time Analysis for Off-line Partial Deduction
ESOP '98 Proceedings of the 7th European Symposium on Programming: Programming Languages and Systems
A Semantics-Based Determinacy Analysis for Prolog with Cut
Proceedings of the Second International Andrei Ershov Memorial Conference on Perspectives of System Informatics
Inferring Argument Size Relationships with CLP(R)
LOPSTR '96 Proceedings of the 6th International Workshop on Logic Programming Synthesis and Transformation
Regular Approximation of Computation Paths in Logic and Functional Languages
Selected Papers from the Internaltional Seminar on Partial Evaluation
Offline specialisation in Prolog using a hand-written compiler generator
Theory and Practice of Logic Programming
Inferring termination conditions for logic programs using backwards analysis
Theory and Practice of Logic Programming
cTI: a constraint-based termination inference tool for ISO-Prolog
Theory and Practice of Logic Programming
A backward analysis for constraint logic programs
Theory and Practice of Logic Programming
Determinacy analysis for logic programs using mode and type information
LOPSTR'04 Proceedings of the 14th international conference on Logic Based Program Synthesis and Transformation
Inverting abstract unification for set-sharing
PPDP '05 Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming
Detecting determinacy in prolog programs
ICLP'06 Proceedings of the 22nd international conference on Logic Programming
Exploiting sparsity in polyhedral analysis
SAS'05 Proceedings of the 12th international conference on Static Analysis
Mutual exclusion by interpolation
FLOPS'12 Proceedings of the 11th international conference on Functional and Logic Programming
Hi-index | 0.00 |
This paper presents a determinacy inference analysis for logic programs. The analysis infers determinacy conditions that, if satisfied by a call, ensures that it computes at most one answer and that answer is generated only once. The principal component of the technique is a goal-independent analysis of individual clauses. This derives a condition for a call that ensures only one clause in the matching predicate possesses a successful derivation. Another key component of the analysis is backwards reasoning stage that strengthens these conditions to derive properties on a call that assure determinacy. The analysis has applications in program development, implementation and specialisation.