A framework for the principled debugging of Prolog programs: how to debug non-terminating programs

Abstract: "The search for better Prolog debugging environments has taken a number of different paths of which three are particularly important: improvements to monitoring tools (notably the Transparent Prolog Machine (Eisenstadt & Brayshaw, 1987)), providing for greater user control over th...

Full description

Saved in:
Bibliographic Details
Main Authors: Brna, Paul (Author), Bundy, Alan (Author), Pain, Helen (Author)
Format: Book
Language:English
Published: Edinburgh 1990
Series:University <Edinburgh> / Department of Artificial Intelligence: DAI research paper 472
Subjects:
Summary:Abstract: "The search for better Prolog debugging environments has taken a number of different paths of which three are particularly important: improvements to monitoring tools (notably the Transparent Prolog Machine (Eisenstadt & Brayshaw, 1987)), providing for greater user control over the debugging process (notably as in Opium p+ s (Ducasse, 1988)), and partially automating the debugging process (notably in (Pereira, 1986; Lloyd, 1986; Pereira & Calejo, 1988; Naish, 1988)). A serious problem associated with this activity lies in providing a principled conceptual framework within which the programmer can work with a number of different debugging tools
Here, we outline a framework that we have developed for the debugging of Prolog programs. We point out the relationship that holds between this framework and each of these three advances in debugging. In order to demonstrate how the framework can be used, we explore an issue that has received relatively little attention recently: the run-time detection of programs that do not appear to terminate. Our analysis of (apparent) non-termination is based on a four level Bug Description Framework that we have developed. This analysis goes further than the consideration of programs that would normally be regarded as 'looping'
We describe a debugging strategy in conjunction with a range of monitoring tools that provide greater assistance than currently found. We indicate the increased efficiency that would be gained through a close-coupling of the program construction and execution phases. From this analysis, we see that current (non-graphical) debugging tools do not provide the necessary help to deal with the case of (apparent) non-termination. We also note that even a graphical debugger such as TPM (Eisenstadt & Brayshaw, 1987) does not provide all the desired assistance that we would like.
Physical Description:30 S.

There is no print copy available.

Interlibrary loan Place Request Caution: Not in THWS collection!