A Tool for Validating PROLOG Programs

We analyze program data of a knowledge base encoded in Prolog. The aim is to classify the program clauses into rules and facts that are inconsistent, unfireable or unnecessary and those that pass without objections. Three complementary analysis steps are described and illustrated by small examples. We also discuss aspects of implementation and show how the original clauses have to be normalized in order to simplify processing. In the outlook it is indicated how the scope of the existing version will be expanded in the future.

[1]  R. Knaus Tracing PROLOG , 1988 .

[2]  Saumya K. Debray,et al.  Detection and Optimization of Functional Computations in Prolog , 1986, ICLP.

[3]  Etsuya Shibayama,et al.  PRESET - A Debugging Environment for Prolog , 1985, LP.

[4]  Maurice Bruynooghe,et al.  On the Existence of Nonterminating Queries for a Restricted Class of PROLOG-Clauses , 1989, Artif. Intell..

[5]  R. Knaus Debugging help, part two , 1989 .

[6]  Eiiti Wada Logic Programming '85 , 1985, Lecture Notes in Computer Science.

[7]  Hans-Jürgen Appelrath Das EUREKA-Projekt PROTOS , 1987, Wissensbasierte Systeme.

[8]  Christopher J. R. Green,et al.  Verification and validation of expert systems , 1991 .

[9]  Hirohisa Seki,et al.  Verification of Prolog Programs Using an Extension of Execution , 1986, ICLP.

[10]  Chris Mellish,et al.  Programming in Prolog (2nd ed.) , 1984 .

[11]  William F. Clocksin,et al.  Programming in Prolog , 1981, Springer Berlin Heidelberg.

[12]  Nils J. Nilsson,et al.  Principles of Artificial Intelligence , 1980, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[13]  Ulrich Löwen,et al.  Loop Detection in Propositional Prolog Programs , 1988, CSL.

[14]  Paul Brna,et al.  Programming tools for Prolog environments , 1987 .

[15]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[16]  Jeffrey D. Ullman,et al.  Efficient tests for top-down termination of logical rules , 1988, JACM.

[17]  Krzysztof R. Apt,et al.  Logic Programming , 1990, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[18]  Franz Barachini,et al.  Überlegungen zur Konsistenztestproblematik von Wissensbasen am Beispiel des medizinischen Expertensystems CADIAG-1 , 1985, ÖGAI.

[19]  A. Lane An end to dueling rules , 1989 .

[20]  Lutz Plümer Predicate Inequalities as a Basis for Automated Termination Proofs for Prolog Programs , 1988, CSL.