Skip to main content

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Bibliography

  • Appelrath, H.J. (1987): Das Eureka-Projekt PROTOS. In: Brauer, W., Wahlster, W. (eds.): Wissensbasierte Systeme. Proc. 2. Intl. GI-Kongress. Springer-Verlag, Heidelberg, 1–11.

    Google Scholar 

  • Barachini, F., Adlassnig, K.-P. (1985): Überlegungen zur Konsistenztestproblematik von Wissensbasen am Beispiel des medizinischen Expertensystems CADIAG-1. In Trost, H., Retti, J. (eds.): Österreichische AI-Tagung, Springer-Verlag, Heidelberg, 1–8.

    Google Scholar 

  • Brna, P., Bundy, A., Pain, H., Lynch, L. (1987): Programming Tools for Prolog Environments. In: Hallam, J., Mellish, C. (eds.): Advances in Artificial Intelligence. Proc. 1987 AISB Conference, Edinburgh, 251–264.

    Google Scholar 

  • Clocksin, W.F., Mellish, C.S. (1987): Programming in Prolog (3rd ed.). Springer-Verlag, Heidelberg.

    MATH  Google Scholar 

  • Debray, S.K., Warren, D.S. (1986): Detection and Optimization of Functional Computations in Prolog. In: Shapiro, E. (ed.): Third Intl. Conf. on Logic Programming. Springer-Verlag, Heidelberg, 490–504.

    Google Scholar 

  • Geissman, J.R., Schultz, R.D. (1988): Verification & Validation of Expert Systems. AI Expert 2 26–33

    Google Scholar 

  • Green, C.J.R., Keyes, M.M. (1987): Verification and Validation of Expert Systems. IEEE-Western Conference on Expert Systems, 38–43.

    Google Scholar 

  • Hopcroft, J.E., Ullman, J.D. (1979): Introduction to Automata Theory, Languages and Computation. Addison-Wesley, Reading MA.

    Google Scholar 

  • Kanamori, T., Seki, H. (1986): Verification of Prolog Programs Using An Extension of Execution. In: Shapiro, E. (ed.): Third Intl. Conf. on Logic Programming. Springer-Verlag, Heidelberg, 475–489.

    Google Scholar 

  • Kleine Büning, H., Löwen, U., Schmitgen, S. (1988): Loop Detection in Propositional Prolog Programs. In: Börger, E., Kleine Büning, H., Richter, M.M. (eds.): CSL ′88. 2nd Workshop on Computer Science Logic, Springer-Verlag, Heidelberg, 148–165.

    Google Scholar 

  • Knaus, R. (1988): Tracing Prolog. AI Expert, 11 17–23.

    Google Scholar 

  • Knaus, R. (1989a): Expert Debugging Help. AI Expert, 7 19–24.

    Google Scholar 

  • Knaus, R. (1989b): Debugging Help, Part Two. AI Expert, 9 27–31.

    Google Scholar 

  • Lane, A. (1989): An End to Dueling Rules. Byte, June 1989, 303–308.

    MathSciNet  Google Scholar 

  • Nguyen, T.A. (1987): Verifying Consistency of Production Systems. In: IEEE Third Conference on Artificial Intelligence, 4–8.

    Google Scholar 

  • Nilson, N.J. (1982): Principles of Artificial Intelligence. Springer-Verlag, Heidelberg.

    Google Scholar 

  • Plumer, L. (1988): Predicate Inequalities as a Basis for Automated Termination Proofs for Prolog Programs. In: Börger, E., Kleine Büning, H., Richter, M.M. (eds.): CSL ′88. 2nd Workshop on Computer Science Logic, Springer-Verlag, Heidelberg, 254–271.

    Google Scholar 

  • de Schreye, D., Bruynooghe, M., Verschaetse, K. (1989): On the Existence of Nonterminating Queries for a Restricted Class of PROLOG-Clauses. Artifical Intelligence, 41 237–248.

    Article  MATH  Google Scholar 

  • Takahashi, H., Shibayama, E. (1985): PRESET — A Debugging Environment for Prolog. In: Wada, E. (ed.): Logic Programming ′85. Proc. 4th Conference on Logic Programming, Springer-Verlag, Heidelberg, 90–100.

    Google Scholar 

  • Ullman, J.D., van Geldern, A. (1988): Efficient Tests for Top-Down Termination of Logical Rules. J.ACM, 35 345–373.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1991 Springer-Verlag Berlin · Heidelberg

About this paper

Cite this paper

Kiel, R., Schader, M. (1991). A Tool for Validating PROLOG Programs. In: Bock, HH., Ihm, P. (eds) Classification, Data Analysis, and Knowledge Organization. Studies in Classification, Data Analysis, and Knowledge Organization. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-76307-6_24

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-76307-6_24

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-53483-9

  • Online ISBN: 978-3-642-76307-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics