21 citations found. Retrieving documents...
L. Naish. A Declarative Debugging Scheme. The Journal of Functional and Logic Programming, 3, 1997.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Buggy User's Manual - Alpuente, Correa   (Correct)

....with error symptoms, as well as to correctly answer oracle questions driven by proof trees aimed to locate the actual source of errors. A similar declarative debugger for the functional logic language Escher is proposed in [17] Following the generic scheme which is based on proof trees of [20], a procedure for the declarative debugging of wrong answers is given in [7] for lazy functional logic languages. The methodology in [7] includes a formalization of computation trees precise enough to prove the logical correctness for the debugger. In the case of pure logic programming, 9] has ....

Lee Naish. A declarative debugging scheme. Journal of Functional and Logic Programming, 1997(3), April 1997.


Debugging Multi-Agent Systems Using Design Artifacts.. - Poutakidis, Padgham.. (2002)   (5 citations)  (Correct)

.... of a system at runtime by providing a visual representation of the program [2] race detection algorithms to facilitate the detection of simultaneous access to shared resources, model checkers and declarative debuggers to automate the process of verifying the expected behaviour of execution [21, 13]. The debugging techniques developed for distributed systems can be used to facilitate the debugging of multi agent systems to some extent, however, there are characteristics specific to agent systems that require specific attention. Traditional distributed systems support distributed information ....

Lee Naish. A declarative debugging scheme. Journal of Functional and Logic Programming, 1997(3), April 1997.


Compositional Explanation of Types and Algorithmic Debugging of.. - Chitil (2001)   (10 citations)  (Correct)

....by Shapiro to diagnose wrong and missing answers in Prolog [18] Later algorithmic debugging was successfully applied to locate the sources of run time errors in functional and other languages [15, 5] The principle of algorithmic debugging is not linked to run time errors. It is quite clear from [13] that algorithmic debugging can be applied to any propositions such as evaluation judgements or type judgements which are defined by a compositional tree (or acyclic graph) At every tree node is a proposition which can be correct or erroneous. A node is the source of an error, if its proposition ....

L. Naish. A declarative debugging scheme. Journal of Functional and Logic Programming,


A Declarative Debugger of Wrong Answers for Lazy.. - Caballero.. (2001)   (Correct)

....rst proposed in [14] is a general technique used to detect bugs on the basis of the intended meaning of the source program. It is particularly suitable when debugging declarative programs, since it allows disregarding operational details. The key idea is to build a computation tree (CT) [8] representing the erroneous computation we intend to debug. Each node in the CT represents the outcome of a computation step and must be determined by the results at its children nodes. This tree is then traversed, looking for nodes erroneous w.r.t. the intended meaning of the program. To ....

....To determine whether a node is erroneous, the debugger asks an external oracle (generally the user) However, detecting erroneous nodes is not enough: a result in a node can be erroneous due to erroneous children. An erroneous node with no erroneous children is called a buggy node following [8]. The debugger reports buggy nodes as sources of bugs in the program, since they produce an erroneous result from valid (i.e. non erroneous) incoming values. From an explanatory point of view, declarative debugging can be seen as a two stage process. Following the terminology from [15] the two ....

L. Naish. A Declarative Debugging Scheme. Journal of Functional and Logic Programming, 1997-3.


Declarative Debugging of Functional Logic Programs - Alpuente, Correa, Falaschi (2001)   (Correct)

....with error symptoms, as well as to correctly answer oracle questions driven by proof trees aimed at locating the actual source of errors. A similar declarative debugger for the functional logic language Escher is proposed in [36] Following the generic scheme which is based on proof trees of [41], a procedure for the declarative debugging of wrong answers is given in [12] for lazy functional logic languages. The methodology in [12] includes a formalization of computation trees which is precise enough to prove the logical correctness for the debugger and which also helps simplify oracle ....

Lee Naish. A declarative debugging scheme. Journal of Functional and Logic Programming, 1997(3), April 1997.


Declarative Debugging of Functional Logic Programs - Alpuente, Correa, Falaschi (2001)   (Correct)

....with error symptoms, as well as to correctly answer oracle questions driven by proof trees aimed to locate the actual source of errors. A similar declarative debugger for the functional logic language Escher is proposed in [35] Following the generic scheme which is based on proof trees of [40], a procedure for the declarative debugging of wrong answers is given in [11] for lazy functional logic languages. The methodology in [11] includes a formalization of computation trees precise enough to proof the logical correctness for the debugger and which also helps simplify oracle questions. ....

Lee Naish. A declarative debugging scheme. Journal of Functional and Logic Programming, 1997(3), April 1997.


On the Analysis of Regulations using Defeasible Rules - Antoniou, Billington, Maher (1999)   (1 citation)  (Correct)

....answer to a specific query should be, yet the regulations in their current form lead to a different answer. Debugging suggests changes to the regulations which will have as an effect the desirable outcome. In defeasible logic, debugging can be carried out along the lines of declarative debugging [9]. 5 Is defeasible logic sufficient In the following we discuss briefly some features that appear to be useful or necessary for the analysis of regulations, and which go beyond defeasible logic. 1. Hierarchies of regulations Often regulations themselves are organised in a hierarchical fashion. ....

L. Naish. A Declarative Debugging Scheme. Journal of Functional and Logic Programming 3 (1997).


Abstract Views of Prolog Executions in Opium - Ducassé (1998)   (Correct)

....mainly concentrates on an algorithmic traversal of trees related to executions, the algorithm depending on the symptom. Most systems use mainly the proof tree, but Naish in a recent article came up with a framework which can model executions with other types of trees depending on the symptom [Naish, 1997]. The Rational Debugging system [Pereira, 1986, Pereira Calejo, 1988] uses two heuristics to select events which are very close to our instantiation prole and our leaf failure tracking. The expert systems explanation tools of [Saurel, 1987] and [Yalcinalp, 1991] are also very close to our leaf ....

L. Naish. (1997). A declarative debugging scheme. The Journal of Functional and Logic Programming, 1997(3). http://www.cs.tuberlin. de/journal/jAEp/articles/1997/A97-03/A97-03.htm.


Generating Deductive Database Explanations - Mallet, Ducassé (1999)   (3 citations)  (Correct)

....of the program execution. Existing intermediate abstractions are a box oriented trace,the Multi SLD AL tree which is an extension of the multi SLD tree of Smith [15] and Abstract AND trees [2] Alternate views could also include the abstract trees presented by Naish for declarative debugging [12] or by Comini et al. 5] for abstract debugging. 4 A Multi SLD AL meta interpreter Two specics of DDB prevent usual Prolog meta interpreters to be straightforwardly reused: set oriented management of data and termination. Tuples of the relational database are, in general, retrieved several at ....

Lee Naish. A declarative debugging scheme. JFLP, 3, 1997.


Myrtle: A set-oriented meta-interpreter driven by a.. - Mallet, Ducassé (1999)   (Correct)

....approach is to have a scale of possible abstractions starting from the lowest one, the closest to implementation. It allows users to choose their level of abstraction. There can be several intermediate levels of abstraction till for example the levels presented in declarative debugging by Naish [12] and in abstract debugging by Comini et al. 6] There exist some higher levels of trace abstraction in terms for example of inputs and outputs of the program. All these abstractions can then be visualized with tools dedicated to the abstractions and it is not the abstraction that is dedicated to ....

Lee Naish. A declarative debugging scheme. Journal of Functional and Logic Programming, 3, 1997.


Declarative Debugging in Constraint Logic Programming - Tessier (1996)   (3 citations)  (Correct)

....insufficiency) a[c] is an incompleteness symptom (resp. insufficiency symptom) of P according to I if a[c] 2 I Gamma lfp(T ffi ;P ) resp. a[c] 2 I Gamma gfp(T ffi ;P ) The interest is that the definitions are formulated in a uniform framework and extend existing definitions of LP [18, 6, 5, 14, 3, 7, 16]. Thus, they are better understood, particularly thanks to proof trees and T ffi ;P . In the particular case of LP: our framework contributes to the comparison between above papers. Lemma 8. 1. If a[c] is a strong insufficiency then a[c] is a weak insufficiency. 2. There exists a strong ....

L. Naish. A declarative debugging scheme. Technical Report 95/1, Department of Computer Science, University of Melbourne, 1995.


Clarification of the bases of Declarative Diagnosers for CLP - Ferrand, Tessier (1997)   (Correct)

.... would be incoherent to use only low level debugging tools whereas theses languages benefit from a declarative semantics (as opposed to operational semantics) Declarative Debugging (DD) was introduced in Logic Programming (LP) by Shapiro (and called Algorithmic Program Debugging [24] see also [8, 14, 6, 7, 21, 5, 18, 19]) Declarative means that the user has no need to consider the computational behaviour of the logic programming system, he needs only a declarative knowledge of the expected properties of the program. The previous reflections on symptoms and errors can be applied to Constraint Logic Programming ....

....17] to what extent it depends on the standard computation rule and how it can be generalized to CLP) The paper is only devoted to the theoretical basis of the approach. 2 Abstract Notions of Symptoms and Errors for Inductive Definitions Symptom and errors can be defined in an abstract scheme ([7, 19]) They have been first defined for definite programs by Shapiro ( 24] using essentially an inductive framework: on the one hand least fixpoint, i.e. induction, for the relation between incorrectness symptom ( wrong answer ) and incorrectness (a kind of error) on the other hand greatest ....

[Article contains additional citation context not shown here]

L. Naish. A Declarative Debugging Scheme. Technical Report 95/1, Department of Computer Science, University of Melbourne, 1995.


Declarative Debugging - Ferrand, Tessier   (Correct)

....the expected semantics can be given by the programmer during the diagnosis session or it can be specified by other means but, in any case, from a conceptual viewpoint, this information is given by an oracle. 2 Abstract Symptoms and Errors Symptom and errors can be defined in an abstract scheme ([18, 32]) They have been first defined for definite programs by Shapiro ( 39] using essentially an inductive framework: on the one hand least fixpoint, i.e. induction, for the relation between incorrectness symptom ( wrong answer ) and incorrectness (a kind of error) on the other hand greatest ....

....of T wrt S. It corresponds to an incorrect clause instance, i.e. an incorrectness of P wrt S. The diagnoser can return the first error founded but also each error which occurs in the proof tree. Each strategy in order to locate an incorrectness can be considered, for example the top down strategy [39, 17, 24, 32]. Usually the search terminates when the first incorrectness is found, so changing the strategy can optimize the number of queries to the oracle (the programmer) Strategies better than the top down (or bottom up) are for example the divide and query strategy [39, 5] or some heuristics based ....

[Article contains additional citation context not shown here]

L. Naish. A declarative debugging scheme. Technical Report 95/1, Department of Computer Science, University of Melbourne, 1995.


Positive and Negative Diagnosis for Constraint Logic.. - Ferrand, Tessier (1997)   (Correct)

.... it would be incoherent to use only low level debugging tools whereas theses languages benefit from a declarative semantics (as opposed to operational semantics) Declarative Debugging was introduced in Logic Programming (LP) by Shapiro (and called Algorithmic Program Debugging [18] see also [11, 5, 6, 17, 4, 15, 16]) Declarative means that the user has no need to consider the computational behaviour of the logic programming system, he needs only a declarative knowledge of the expected properties of the program. The previous reflections on symptoms and errors can be applied to Constraint Logic Programming ....

L. Naish. A Declarative Debugging Scheme. Technical Report 95/1, Department of Computer Science, University of Melbourne, 1995.


Walk Backwards to Happiness - Debugging by Time Travel - Booth, Jones (1997)   (3 citations)  (Correct)

....no problem be found in one subtree, another can be explored. 5 Related Work There has been some research into functional debuggers but it is not intention our to review that work here as our focus is on the proposal presented in this paper. The interested reader is referred to [3] 7] 9] [10], 14] A debugger for the ML functional language [13] also allows the programmer to work backwards through the program. It does this by taking snapshots of the state of the program at various points (e.g. before function application) Therefore it is possible for the programmer to work backwards ....

L Naish. A declarative debugging scheme. Technical report, University of Melbourne, January 1995.


A three-valued semantics for Horn clause programs - Naish (1998)   (7 citations)  Self-citation (Naish)   (Correct)

....for soundness. A type incorrect clause whose head is true just results in a dubious proof of a true atom. 3 Three valued declarative debugging A general scheme for declarative debugging using three truth values is described in [Nai97b] it is based on a more traditional two valued scheme [Nai97a]. Computations are represented as trees and debuggers search the tree for a buggy node. For diagnosing wrong answers in Prolog, the tree is a proof tree (see [Llo84] each node contains an atom which was proved in the computation and the children of the node contain the atoms in the body of the ....

Lee Naish. A declarative debugging scheme. Journal of Functional and Logic Programming, 1997(3), April 1997.


Buddha - A Declarative Debugger for Haskell - Pope (1998)   (3 citations)  Self-citation (Naish)   (Correct)

....for the correctness of the debugging technique. We do not provide a formal proof of the soundness and completeness of the Naish and Barbour declarative debugging technique in this paper. For a more thorough exposition of correctness, the reader is referred to A Declarative Debugging Scheme [9]. In [9] Naish illustrates that for debugging wrong answers in Prolog programs, the EDT is an instance of the proof tree for the program being debugged, which is well established in the theory of logic programming, The formal proof of soundness and completeness requires a formalisation of the ....

....for the correctness of the debugging technique. We do not provide a formal proof of the soundness and completeness of the Naish and Barbour declarative debugging technique in this paper. For a more thorough exposition of correctness, the reader is referred to A Declarative Debugging Scheme [9] In [9], Naish illustrates that for debugging wrong answers in Prolog programs, the EDT is an instance of the proof tree for the program being debugged, which is well established in the theory of logic programming, The formal proof of soundness and completeness requires a formalisation of the ....

[Article contains additional citation context not shown here]

L. Naish. A declarative debugging scheme. Journal of Functional and Logic Programming, 1997(3), April 1997.


Towards a Portable Lazy Functional Declarative Debugger - Naish, Barbour (1995)   (15 citations)  Self-citation (Naish)   (Correct)

....of steps in the execution to locate bugs. Declarative debugging algorithms were first developed for diagnosing wrong and missing answers in Prolog [Sha83] More recently the ideas have been adapted to diagnosing errors in lazy functional languages [NF94] Nai93] and related languages [NB95] [Nai95]. These debuggers have two important disadvantages: they are not portable and they are unacceptably inefficient, especially in terms of space. Most declarative debuggers for Prolog have been implemented in Prolog. This is easy to do and results in relatively portable debuggers. Declarative ....

....low level primitive. We also discuss how this primitive can be used to solve the most important efficiency problem in existing debuggers. Finally we summarize our proposal and how it differs from other approaches. 2 Declarative Debugging A general scheme for declarative debugging is proposed in [Nai95]. Here we describe how it is applied to diagnosing wrong answers in lazy functional languages. The evaluation of an expression is represented by a tree (called an evaluation dependence tree in [SN95] To simplify the presentation we will assume that the top level expression which is evaluated is ....

[Article contains additional citation context not shown here]

Lee Naish. A declarative debugging scheme. Technical Report 95/1, Department of Computer Science, University of Melbourne, Melbourne, Australia, February 1995.


A Three-Valued Declarative Debugging Scheme - Naish (1997)   (7 citations)  Self-citation (Naish)   (Correct)

....behaviour on some computation. The cause of the difference is isolated to a small section of code which must contain a bug. Shapiro s work has been extended and refined in many ways. The two developments which are the key to this paper are the early work of Pereira [Per86] and our recent work [Nai97]. Our work, summarised in the next section, presented a scheme for declarative debugging which generalised many previous approaches. By viewing the problem at a more abstract level, diagnosing a variety of bugs (for example, wrong answers and missing answers) in a variety of languages (for ....

....are correct then the matching clause must contain a bug. Declarative debuggers search for such nodes in the proof tree using information about the intended behaviour of the program (typically asking the user about the correctness of atoms in the tree) The previous declarative debugging scheme [Nai97] proposed generalises wrong answer diagnosis for Prolog and is based on two assumptions. The first is that a computation can be described using a tree. The root of the tree describes the overall result of the computation and its children describe the result of sub computations. The second ....

[Article contains additional citation context not shown here]

Lee Naish. A declarative debugging scheme. Journal of Functional and Logic Programming, 1997(3), April 1997.


A Guide To The NU-Prolog Debugging Environment - Bert Thompson   Self-citation (Naish)   (Correct)

No context found.

L. Naish. A Declarative Debugging Scheme. Technical Report 95/1, University of Melbourne, 1995.


Deploying Ontologies in Software Design - Kalfoglou (2000)   (Correct)

No context found.

L. Naish. A Declarative Debugging Scheme. The Journal of Functional and Logic Programming, 3, 1997.

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC