Journal of Symbolic Computation
Foundations of logic programming; (2nd extended ed.)
Foundations of logic programming; (2nd extended ed.)
Inference of monotonicity constraints in datalog programs
PODS '89 Proceedings of the eighth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Declarative modeling of the operational behavior of logic languages
Theoretical Computer Science
Partial evaluation in logic programming
Journal of Logic Programming
Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
Tutorial on specialisation of logic programs
PEPM '93 Proceedings of the 1993 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Strong termination of logic programs
Journal of Logic Programming
Fast and precise regular approximations of logic programs
Proceedings of the eleventh international conference on Logic programming
Goal independency and call patterns in the analysis of logic programs
SAC '94 Proceedings of the 1994 ACM symposium on Applied computing
Termination of term rewriting using dependency pairs
Theoretical Computer Science - Trees in algebra and programming
The size-change principle for program termination
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Termination proofs for logic programs with tabling
ACM Transactions on Computational Logic (TOCL)
The narrowing-driven approach to functional logic program specialization
New Generation Computing - Partial evaluation and program transformation
Proceedings of the 5th ACM Conference on Functional Programming Languages and Computer Architecture
Proving Termination of Logic Programs by Exploiting Term Properties
TAPSOFT '91 Proceedings of the International Joint Conference on Theory and Practice of Software Development, Volume 2: Advances in Distributed Computing (ADC) and Colloquium on Combining Paradigms for Software Developmemnt (CCPSD)
Finiteness Analysis in Polynomial Time
SAS '02 Proceedings of the 9th International Symposium on Static Analysis
Homeomorphic embedding for online termination of symbolic methods
The essence of computation
Offline specialisation in Prolog using a hand-written compiler generator
Theory and Practice of Logic Programming
The size-change principle and dependency pairs for termination of term rewriting
Applicable Algebra in Engineering, Communication and Computing
Termination analysis and specialization-point insertion in offline partial evaluation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Logic program specialisation through partial deduction: Control issues
Theory and Practice of Logic Programming
Supervising offline partial evaluation of logic programs using online techniques
LOPSTR'06 Proceedings of the 16th international conference on Logic-based program synthesis and transformation
Improving offline narrowing-driven partial evaluation using size-change graphs
LOPSTR'06 Proceedings of the 16th international conference on Logic-based program synthesis and transformation
Testing for termination with monotonicity constraints
ICLP'05 Proceedings of the 21st international conference on Logic Programming
Non-leftmost unfolding in partial evaluation of logic programs with impure predicates
LOPSTR'05 Proceedings of the 15th international conference on Logic Based Program Synthesis and Transformation
Fully automatic binding-time analysis for prolog
LOPSTR'04 Proceedings of the 14th international conference on Logic Based Program Synthesis and Transformation
Size-Change termination analysis in k-bits
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
Type-Based Homeomorphic Embedding and Its Applications to Online Partial Evaluation
Logic-Based Program Synthesis and Transformation
Fast Offline Partial Evaluation of Large Logic Programs
Logic-Based Program Synthesis and Transformation
Towards scalable partial evaluation of declarative programs
LOPSTR'09 Proceedings of the 19th international conference on Logic-Based Program Synthesis and Transformation
Fast and accurate strong termination analysis with an application to partial evaluation
WFLP'09 Proceedings of the 18th international conference on Functional and Constraint Logic Programming
Hi-index | 0.00 |
One of the most important challenges in partial evaluation is the design of automatic methods for ensuring the termination of specialisation. It is well known that the termination of partial evaluation can be ensured when the considered computations are quasiterminating, i.e., when only finitely many different calls occur. In this work, we adapt the use of the so called size-change graphs to logic programming and introduce new sufficient conditions for strong (i.e., w.r.t. any computation rule) termination and quasi-termination. To the best of our knowledge, this is the first sufficient condition for the strong quasi-termination of logic programs. The class of strongly quasi-terminating logic programs, however, is too restrictive. Therefore, we also introduce an annotation procedure that combines the information from size-change graphs and the output of a traditional binding-time analysis. Annotated programs can then be used to guarantee termination of partial evaluation. We finally illustrate the usefulness of our approach by designing a simple partial evaluator in which termination is always ensured offline (i.e., statically).