Constraint-based termination analysis of logic programs
- 1 November 1999
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 21 (6) , 1137-1195
- https://doi.org/10.1145/330643.330645
Abstract
Current norm-based automatic termination analysis techniques for logic programs can be split up into different components: inference of mode or type information, derivation of models, generation of well-founded orders, and verification of the termination conditions themselves. Although providing high-precision results, these techniques suffer from an efficiency point of view, as several of these analyses are often performed through abstract interpretation. We present a new termination analysis which integrates the various components and produces a set of constraints that, when solvable, identifies successful termination proofs. The proposed method is both efficient and precise. The use of constraint sets enables the propagation on information over all different phases while the need for multiple analyses is considerably reduced.Keywords
This publication has 20 references indexed in Scilit:
- CLP(χ) for automatically proving program propertiesThe Journal of Logic Programming, 1998
- Transformational methodology for proving termination of logic programsThe Journal of Logic Programming, 1998
- Deriving linear size relations for logic programs by abstract interpretationNew Generation Computing, 1995
- A methodology for proving termination of logic programsThe Journal of Logic Programming, 1994
- Strong termination of logic programsThe Journal of Logic Programming, 1993
- Proving termination properties of prolog programs: A semantic approachThe Journal of Logic Programming, 1992
- Deriving descriptions of possible values of program variables by means of abstract interpretationThe Journal of Logic Programming, 1992
- A practical framework for theabstract interpretation of logic programsThe Journal of Logic Programming, 1991
- Efficient tests for top-down termination of logical rulesJournal of the ACM, 1988
- Some global optimizations for a PROLOG compilerThe Journal of Logic Programming, 1985