Hostname: page-component-8448b6f56d-xtgtn Total loading time: 0 Render date: 2024-04-18T22:42:06.741Z Has data issue: false hasContentIssue false

Using parametric set constraints for locating errors in CLP programs

Published online by Cambridge University Press:  26 July 2002

WŁODZIMIERZ DRABENT
Affiliation:
Department of Computer and Information Science, Linköping University, S – 581 83 Linköping, Sweden (e-mail: wdr@ida.liu.sejmz@ida.liu.sepawpi@ida.liu.se)
JAN MAŁUSZYŃSKI
Affiliation:
Department of Computer and Information Science, Linköping University, S – 581 83 Linköping, Sweden (e-mail: wdr@ida.liu.sejmz@ida.liu.sepawpi@ida.liu.se)
PAWEŁ PIETRZAK
Affiliation:
Department of Computer and Information Science, Linköping University, S – 581 83 Linköping, Sweden (e-mail: wdr@ida.liu.sejmz@ida.liu.sepawpi@ida.liu.se)

Abstract

This paper introduces a framework of parametric descriptive directional types for Constraint Logic Programming (CLP). It proposes a method for locating type errors in CLP programs, and presents a prototype debugging tool. The main technique used is checking correctness of programs w.r.t. type specifications. The approach is based on a generalization of known methods for proving the correctness of logic programs to the case of parametric specifications. Set constraint techniques are used for formulating and checking verification conditions for (parametric) polymorphic type specifications. The specifications are expressed in a parametric extension of the formalism of term grammars. The soundness of the method is proved, and the prototype debugging tool supporting the proposed approach is illustrated on examples. The paper is a substantial extension of the previous work by the same authors concerning monomorphic directional types.

Type
Research Article
Copyright
© 2002 Cambridge University Press

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)