JFLP: Volume 1997, Article 3

The Journal of Functional and Logic Programming

Volume 1997

Article 3

Published by The MIT Press . Copyright 1997 Massachusetts Institute of Technology.

----------------------------------------------------------------

Your institution may already be a subscriber to JFLP. If not, please subscribe for legitimate access to all journal articles.

----------------------------------------------------------------

A Declarative Debugging Scheme

Lee Naish

4 April 1997

Abstract

We present a very simple but flexible declarative debugging scheme. A declarative debugger can be defined in Prolog with a single clause, and relies on the definition of just two additional predicates. With suitable definitions of these predicates, the debugger can diagnose several classes of bugs in many languages. We give examples of diagnoses of wrong answers in functional, relational, and object-oriented languages as well as missing answers in relational languages and calls that are not well defined in functional languages. By using declarative semantics of programs, the debugger is able to hide complex execution mechanisms such as unification, backtracking, coroutining, parallelism, higher-order functions, lazy evaluation, message passing, and inheritance.
The following versions of the article are available: You can find this article also on the ftp-server of The MIT Press (access may be faster from some sites).

----------------------------------------------------------------

Self citation

    @article{jflp97-03,
      author={Lee Naish},
      title={A Declarative Debugging Scheme},
      journal={Journal of Functional and Logic Programming},
      volume={1997},
      number={3},
      publisher={The MIT Press},
      month={April},
      year={1997}
    }

----------------------------------------------------------------

*back to* Main page