School of Computing

Verifying termination and error-freedom of logic programs with block declarations

Jan-Georg Smaus, Pat M. Hill, and Andy King

Theory and Practice of Logic Programming, 1(4):182-196, July 2001 (Theory and Practice of Logic Programming was formally known as The Journal of Logic Programming, see http://www.cwi.nl/projects/alp/Welcome/appeal.html.

Abstract

We present verification methods for logic programs with delay declarations. The verified properties are termination and freedom from errors related to built-ins. Concerning termination, we present two approaches. The first approach tries to eliminate the well-known problem of speculative output bindings. The second approach is based on identifying the predicates for which the textual position of an atom using this predicate is irrelevant with respect to termination. Three features are distinctive of this work: it allows for predicates to be used in several modes; it shows that block declarations, which are a very simple delay construct, are sufficient to ensure the desired properties; it takes the selection rule into account, assuming it to be as in most Prolog implementations. The methods can be used to verify existing programs and assist in writing new programs.

Download publication 454 kbytes (PostScript)

Bibtex Record

@article{1205,
author = {Jan-Georg~Smaus and Pat~M.~Hill and Andy~King},
title = {Verifying termination and error-freedom of logic programs with block declarations},
month = {July},
year = {2001},
pages = {182-196},
keywords = {determinacy analysis, Craig interpolants},
note = {(Theory and Practice of Logic Programming was formally known as The Journal of Logic Programming, see http://www.cwi.nl/projects/alp/Welcome/appeal.html},
doi = {},
url = {http://www.cs.kent.ac.uk/pubs/2001/1205},
    publication_type = {article},
    submission_id = {4970_993460107},
    journal = {Theory and Practice of Logic Programming},
    volume = {1},
    number = {4},
    publisher = {Cambridge University Press},
}

School of Computing, University of Kent, Canterbury, Kent, CT2 7NF

Enquiries: +44 (0)1227 824180 or contact us.

Last Updated: 21/03/2014