New Generation Computing

, Volume 5, Issue 2, pp 133–154 | Cite as

Declarative error diagnosis

  • J. W. Lloyd
Regular Papers


This paper presents an error diagnoser which finds errors in logic programs which use the extended syntax and advanced control facilities. The diagnoser isdeclarative, in the sense that the programmer need only know the intended interpretation of an incorrect program to use the diagnoser. In particular, the programmer needs no understanding whatever of the underlying computational behaviour of the PROLOG system which runs the program. It is argued that declarative error diagnosers will be indispensable components of advanced logic programming systems, which are currently under development.


Error Diagnosis Debugging Logic Programming PROLOG 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1).
    Av-Ron, E., Top-Down Diagnosis of Prolog Programs, M. Sc. Thesis, Weizmann Institute of Science, 1984.Google Scholar
  2. 2).
    Byrd, L., “PROLOG Debugging Facilities,”Working Paper, Department of Artificial Intelligence, University of Edinburgh, 1980.Google Scholar
  3. 3).
    Edman, A. and Tarnlund, S., “Mechanization of an Oracle in a Debugging System,”IJCAI 83, Karlsruhe, pp. 553–555, 1983.Google Scholar
  4. 4).
    Eisenstadt, M., “Retrospective Zooming: A Knowledge Based Tracing and Debugging Methodology for Logic Programming,”IJCAI 85, Los Angeles, pp. 717–719.Google Scholar
  5. 5).
    Eisenstadt, M. and Hasemer, A., “An Improved User Interface for PROLOG,”Interact 84, pp. 109–113.Google Scholar
  6. 6).
    Ferrand, G., “Error Diagnosis in Logic Programming: An Adaptation of E. Y. Shapiro’s Method,” Rapport de Recherche 375, INRIA, 1985.Google Scholar
  7. 7).
    Lloyd, J. W.,Foundations of Logic Programming, Symbolic Computation Series, Springer-Verlag, 1984.Google Scholar
  8. 8).
    Lloyd, J. W. and Topor, R. W., “Making PROLOG More Expressive,”J. Logic Programming, Vol. 1, No. 3, pp. 225–240, 1984.MATHCrossRefMathSciNetGoogle Scholar
  9. 9).
    Naish, L., “Automating Control for Logic Programs,”J. Logic Programming, Vol. 2, No. 3, pp. 167–183, 1985.MATHCrossRefGoogle Scholar
  10. 10).
    Naish, L., “Negation and Control in PROLOG,”Lecture Notes in Computer Science 238, Springer-Verlag, 1986.Google Scholar
  11. 11).
    Naish, L., “Negation and Quantifiers in NU-PROLOG,”Proc. of Third International Conference on Logic Programming, Lecture Notes in Computer Science 225, Springer-Verlag, pp. 624–634, 1986.Google Scholar
  12. 12).
    Pereira, L. M., “Rational Debugging in Logic Programming,”Proc. of Third International Conference on Logic Programming, Lecture Notes in Computer Science 225, Springer-Verlag, pp. 203–210, 1986.Google Scholar
  13. 13).
    Plaisted, D. A., “An Efficient Bug Location Algorithm,”Second International Logic Programming Conference, Uppsala, pp. 151–157, 1984.Google Scholar
  14. 14).
    Shapiro, E. Y.,Algorithmic Program Debugging, MIT Press, Cambridge, Mass., 1983.Google Scholar
  15. 15).
    Tamaki, H. and Sato, T., “Unfold/Fold Transformation of Logic Programs,”Proc. of Second International Logic Programming Conference, Uppsala, pp. 127–138, 1984.Google Scholar
  16. 16).
    Thom, J. A. and Zobel, J. A. (eds), “NU-Prolog 1.0 Reference Manual, Machine Intelligence Project, Technical Report 86/10, Department of Computer Science, University of Melborune, 1986.Google Scholar
  17. 17).
    Warren, D. H. D., “An Abstract PROLOG Instruction Set,”Technical Note 309, SRI International, 1983.Google Scholar

Copyright information

© Ohmsha, Ltd. and Springer 1987

Authors and Affiliations

  • J. W. Lloyd
    • 1
  1. 1.Department of Computer ScienceUniversity of MelbourneParkvilleAustralia

Personalised recommendations