Termination analysis of logic programs through combination of type-based norms

Maurice Bruynooghe, Michael Codish, John P. Gallagher, Samir Genaim, Wim Vanhoof

Research output: Contribution to journalArticlepeer-review


This article makes two contributions to the work on semantics-based termination analysis for logic programs. The first involves a novel notion of type-based norm where for a given type, a corresponding norm is defined to count in a term the number of subterms of that type. This provides a collection of candidate norms, one for each type defined in the program. The second enables an analyzer to base termination proofs on the combination of several different norms. This is useful when different norms are better suited to justify the termination of different parts of the program. Application of the two contributions together consists in considering the combination of the type-based candidate norms for a given program. This results in a powerful and practical technique. Both contributions have been introduced into a working termination analyzer. Experimentation indicates that they yield state-of-the-art results in a fully automatic analysis tool, improving with respect to methods that do not use both types and combined norms.

Original languageEnglish
JournalACM Transactions on Programming Languages and Systems
Issue number2
Publication statusPublished - 1 Apr 2007


  • Abstract interpretation
  • Dataflow analysis
  • Global analysis
  • Groundness analysis
  • Program analysis
  • Termination analysis


Dive into the research topics of 'Termination analysis of logic programs through combination of type-based norms'. Together they form a unique fingerprint.

Cite this