AADEBUG'95 Abstract

Debugging in GAPLog: A model for execution of logic programs with delayed function calls

Tim Heyer

Hans-Sommer-Strasse 25
D-38106 Braunschweig, Germany
Email: heyer@ibr.cs.tu-bs.de

In this paper an advanced execution model for the extended logic programming language GAPLog is presented. GAPLog has been developed at the Department of Computer Science, Linkoping University, Sweden. GAPLog combines logic programs with functions written in other languages in a way that the integrated programs have a clean declarative semantics.

By this combination arise some difficulties, which the existing debugging models cannot handle in an adequate way. Therefore an extended theoretical model for execution of GAPLog programs is introduced. It is based on the box model developed for logic programming by L. Byrd. This new model pays special attention to the search for matching clauses and function calls that had to be delayed because of insufficient instantiation.

The model has been used as the basis for an implementation of a practical debugging package for a GAPLog system. One advantage of this debugger is that the reason for a failure of a particular goal may be more precisely determined because the pattern matching step is observable. Moreover, the program trace is directly related to the program because the debug information is displayed in terms of the clauses rather than the goals. Finally the delaying and reactivation of external function calls is traceable.

AADEBUG'95 Program

AADEBUG'95 home page


This page is maintained by Stéphane Schoenig. Please send us any comments or suggestions.