A generic declarative diagnoser for normal logic programs

  • Lunjin Lu
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 822)


In this paper we develop a generic declarative diagnoser for normal logic programs that is based on tree search. The soundness and the completeness of the diagnoser are proved. The diagnoser is generic in that it can be used with different search strategies such as the bottom-up, top-down, top-down zooming and divide-and-query strategies in the literature. The user can specialise the diagnoser by choosing their own search strategy. The diagnoser also has a smaller search space than diagnosers reported in the literature. This is achieved by using the acquired part of the intended interpretation of the program to prune the search space before it is searched.


Logic Program Tree Search Insufficiency Symptom Proof Tree Computation Rule 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    P. Deransart. Proofs of Declarative Properties of Logic Programs. In J.Diaz and F.Orejas, editors, Proceedings of International Joint Conference on TAPSOFT'89, pages 207–226, Barcelona, Spain, March 1989.Google Scholar
  2. 2.
    N. Dershowitz and Y.-J. Lee. Deductive Debugging. In Proceedings of 1987 Symposium of Logic Programming, pages 298–306. The IEEE Computer Society Press, 1987.Google Scholar
  3. 3.
    W. Drabent, S. Nadjm-Tehrani, and J. Maluszynski. The Use of Assertions in Algorithmic Debugging. In ICOT, editor, The Proceedings of the International Conference on Fifth Generation Computer Systems. ICOT, 1988.Google Scholar
  4. 4.
    W. Drabent, S. Nadjm-Tehrani, and J. Maluszynski. Algorithmic Debugging with Assertions. In Harvey Abramson and M.H. Rogers, editors, Meta-Programming in Logic Programming, pages 502–521. The MIT Press, 1989.Google Scholar
  5. 5.
    M. Ducassé. Opium+, a Meta-Debugger for Prolog. In Y. Kodratoff, editor, Proceedings of the eighth ECAI, pages 272–277, Münich, August 1–5 1988. Pitman.Google Scholar
  6. 6.
    A. Edman and S.-å. Tärnlund. Mechanization of an Oracle in a Debugging System. In Proceedings of the Eighth International Joint Conference on Artificial Intelligence, volume 2, pages 553–555, Karlsruhe, West Germany, August 1983.Google Scholar
  7. 7.
    M. Falaschi, G. Levi, and C. Palamidessi. Declarative Modelling of the Operational Behavior of Logic Programs. Theoretical Computer Science, 69:289–318, 1989.Google Scholar
  8. 8.
    G. Ferrand. Error Diagnosis in Logic Programming, an Adaptation of E.Y. Shapiro's method. The Journal of Logic Programming, 4(3):177–198, 1987.Google Scholar
  9. 9.
    A.M.J. Hutching, D.L. Bowen, L. Byrd, P.W.H. Chung, F.C.N. Pereira, L.M. Pereira, R.Rae, and D.H.D. Warren. Edinburgh Prolog (the new implementation) user's manual. AI Applications Institute, University of Edinburgh, 8 October 1986.Google Scholar
  10. 10.
    T. Kanamori, T. Kawamura, M. Maeji, and K.Horiuchi. Logical Program Diagnosis from Specifications. ICOT Technical Report TR-447, March 1989.Google Scholar
  11. 11.
    Y. Lichtenstein and E. Shapiro. Abstract Algorithm Debugging. In R.A. Kowalski and K.A. Bowen, editors, Proceedings of the fifth International Conference and Symposium on Logic Programming, pages 512–531. The MIT Press, 1988.Google Scholar
  12. 12.
    J.W. Lloyd. Declarative Error Diagnosis. New Generation Computing, 5(2):133–154, 1987.Google Scholar
  13. 13.
    J.W. Lloyd. Foundations of Logic Programming. Springer-Verlag, 1987.Google Scholar
  14. 14.
    M. Maeji and T. Kanamori. Top-Down Zooming Diagnosis of Logic Programs. ICOT Technical Report TR-290, August 1987.Google Scholar
  15. 15.
    L. Naish. Declarative Diagnosis of Missing Answers. Technical Report 88/9 (Revised May 1991), Department of computer science, The University of Melbourne, May 1991.Google Scholar
  16. 16.
    L.M. Pereira. Rational Debugging in Logic Programming. In E. Shapiro, editor, Proceedings of the 3rd International Logic Programming Conference, pages 203–210. Springer Verlag, 1986. Lecture Notes in Computer Science no. 225.Google Scholar
  17. 17.
    L.M. Pereira and M. Calejo. A Framework for Prolog Debugging. In R.A. Kowalski and K.A. Bowen, editors, Proceedings of the fifth International Conference and Symposium on Logic Programming, pages 481–495. The MIT Press, 1988.Google Scholar
  18. 18.
    E. Shapiro. Algorithmic Program Diagnosis. In ACM Conference Record of the ninth annual ACM Symposium on Principles of Programming Languages, pages 299–308, Albuquerque, New Mexico, Jan. 25–27 1982.Google Scholar
  19. 19.
    E. Shapiro. Algorithmic Debugging. The MIT Press, 1983.Google Scholar
  20. 20.
    L. Sterling and E. Shapiro. The Art of Prolog. The MIT Press, 1986.Google Scholar
  21. 21.
    M.H. van Emden and R.A. Kowalski. The Semantics of Predicate Logic as a Programming Language. Artificial Intelligence, 23(10):733–742, 1976.Google Scholar
  22. 22.
    S.Y. Yan. Foundations of Declarative Debugging in Arbitrary Logic Programming. International Journal of Man Machine Studies, 32:215–232, 1990.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1994

Authors and Affiliations

  • Lunjin Lu
    • 1
  1. 1.The University of BirminghamBirminghamUK

Personalised recommendations