| N. Dershowitz and Y-J.. Lee. Deductive debugging. In Proceedings of the 1987 Logic Programming Symposium, San Fransisco, USA, pages 298-- 306. IEEE Computer Society, 1987. |
....similar as is often the case in recursive procedures. In this case, an assertion may be given which provides some constraint on the solution. This helps to reduce query complexity but sometimes the assertions can be hard to write and just as prone to bugs as the program itself. Dershowitz and Lee [6] follow this path to its logical conclusion an executable specification answers the query. The problem with this Background 9 is that most programs do not have specifications available in a sufficiently rigorous form to be of any use and, more importantly, the specification itself may be wrong. ....
....strategy will be more efficient. Given the presentation here, a left most search strategy is not implementable via weights, but if we allow access to nodes of the tree to perform more complex analysis, we can always then adopt a left most first approach. Is Primes(10, 2,4,8] VALID n Is Sift([2,3,4,5,6,7,8,9,10], 2,4,8] VALID n Is RemoveMults( 3,4,5,6,7,8,9,10] 2, 4,6,8,10] VALID n Is RemoveMults( 4,5,6,7,8,9,10] 2, 4,6,8,10] VALID n Is RemoveMults( 5,6,7,8,9,10] 2, 6,8,10] VALID n Is RemoveMults( 6,7,8,9,10] 2, 6,8,10] VALID n Is RemoveMults( 7,8,9,10] 2, 8,10] VALID n A Generic ....
[Article contains additional citation context not shown here]
N. Dershowitz and Y.-L. Lee. Deductive debugging. In Symposium of Logic Program, pages 298--306, 1987.
....2. Declarative debugging can be thought of as searching a tree for a buggy node. To determine if an node is erroneous an oracle is used. Often the oracle is the programmer, who is asked questions about the validity of atoms, though a runnable specification of the program can also be used [ET83] [DL87] [DNTM89] KKMH89] This is particularly useful when the size of data structures makes questions difficult to comprehend. To illustrate a typical declarative debugging session we use the NU Prolog Debugging Environment (NUDE) NDZ89] NUDE uses a top down search of the tree and (optionally) prints ....
Nachum Dershowitz and Yuh-Jeng Lee. Deductive debugging. In Proceedings of the Fourth IEEE Symposium on Logic Programming, pages 298--306, San Francisco, California, August 1987.
....symptom. The following is a c.p.p. for qs( 2; 3; 1] 2; 1; 3] It is a part of a proof tree for qs( 2; 3; 1] 2; 1; 3] because in a proof tree for qs( 2; 3; 1] 2; 1; 3] each of node (3) labelled with 2 = 3) and node (5) labelled with 2 1) has a child labelled with true. qs([2,3,1], 2,1,3] 1) pt( 3,1] 2, 1] 3] 2) qs( 3] 3] 18) 2= 3 (3) pt( 3, 19) pt( 1] 2, 1] 4) true (20) 2 1 (5) qs( 21) pt( 2, 6) ....
....symptom. The following is a c.p.p. for qs( 2; 3; 1] 2; 1; 3] It is a part of a proof tree for qs( 2; 3; 1] 2; 1; 3] because in a proof tree for qs( 2; 3; 1] 2; 1; 3] each of node (3) labelled with 2 = 3) and node (5) labelled with 2 1) has a child labelled with true. qs( 2,3,1] [2,1,3]) 1) pt( 3,1] 2, 1] 3] 2) qs( 3] 3] 18) 2= 3 (3) pt( 3, 19) pt( 1] 2, 1] 4) true (20) 2 1 (5) qs( 21) pt( 2, 6) true (22) ....
[Article contains additional citation context not shown here]
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.
....usual. qs( 2; 3; 1] 2; 1; 3] is an inconsistency symptom of P w.r.t. I. Suppose that the acquired part I 0 of I consists of the knowledge of built in predicates. Then the following is an I 0 cpp for P and qs( 2; 3; 1] 2; 1; 3] and hence an I cpp for P and qs( 2; 3; 1] 2; 1; 3] qs([2,3,1], 2,1,3] 1) pt( 3,1] 2, 1] 3] 2) qs( 3] 3] 18) 2= 3 (3) pt( 3, 19) pt( 1] 2, 1] 4) true (20) 2 1 (5) qs( 21) pt( 2, 6) true (22) true (7) ....
....qs( 2; 3; 1] 2; 1; 3] is an inconsistency symptom of P w.r.t. I. Suppose that the acquired part I 0 of I consists of the knowledge of built in predicates. Then the following is an I 0 cpp for P and qs( 2; 3; 1] 2; 1; 3] and hence an I cpp for P and qs( 2; 3; 1] 2; 1; 3] qs( 2,3,1] [2,1,3]) 1) pt( 3,1] 2, 1] 3] 2) qs( 3] 3] 18) 2= 3 (3) pt( 3, 19) pt( 1] 2, 1] 4) true (20) 2 1 (5) qs( 21) pt( 2, 6) true (22) true (7) ....
[Article contains additional citation context not shown here]
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.
....if a node is erroneous, an oracle is used. Often the oracle is the programmer, who is asked questions about the validity of atoms, 4 The Journal of Functional and Logic Programming 1997 3 Naish A Declarative Debugging Scheme x3 though a runnable specification of the program can also be used [ET83, DL87, DNTM89, KKMH89]. This is particularly useful when the size of data structures makes questions difficult to comprehend. Figure 2 illustrates declarative debugging using a session of the NU Prolog Debugging Environment (NUDE) NDZ89] The top level interface of NUProlog is modified so the debugger can be entered ....
Nachum Dershowitz and Yuh-Jeng Lee. Deductive debugging. In Proceedings of the Fourth IEEE Symposium on Logic Programming, pages 298--306, Los Alamitos, CA, August 1987. IEEE Computer Society Press.
....as generally used in ILP. Note that special care needs to be taken not to require complete knowledge about the intentions in the assertions properties constraints bias, because otherwise a deduction based synthesizer would be more appropriate. This is a problem with some of the proposed solutions [23]. Of course, if someone wants to give complete knowledge about the intentions, then the synthesizer should be able to handle it. Some other often mentioned problems with induction based synthesis are, in our opinion, no problems at all, and we discuss them in the next sub section. 3.3 ....
.... question now arises as to whether cooperation and cross fertilization are possible with (other) branches of deduction based Software Engineering Some attempts at solving Software Engineering tasks with induction based techniques have been made, such as logic program synthesis and debugging [5] [23] [28] 43] 76] test case generation [4] and program verification [13] but there was no sign of actual cross fertilization. So what is the potential of such cooperation and cross fertilization One of the major problems we pointed out with the deduction based synthesis paradigm is due to the ....
Nachum Dershowitz and Yuh-Jeng Lee. Logical debugging. Journal of Symbolic Computation 15(5--6):745--773, May/June 1993. Early version, entitled "Deductive debugging", in Proceedings of SLP'87, pages 298--306.
....; B k , but in I, this implication is invalid as the antecedent is true and the consequent is false. When a program is incorrect because of an uncovered atom, it could be the case that a new clause might have to be added to cover the uncovered atom. Indeed this is the approach taken in [DeLe87]. In other words, A is uncovered because there should have been another applicable clause A k 1 B k 1 where the goals in B k 1 are true and hence the atom A is covered by the new clause. Our refinement scheme is applicable only when the cause of an uncovered atom is not the absence of a ....
Dershowitz N. and Lee Y., "Deductive Debugging", in IEEE Symposium on Logic Programming, 298-306, (1987).
....the debugger. The basic algorithm is applicable to other functional programming languages also. Keywords: functional programming, lazy evaluation, declarative debugging, logic programming. 1 1 Introduction Declarative debugging (also called algorithmic, rational and deductive debugging) [Sha83, Per86, SS86, DL87, Llo87] is a debugging methodology which was originally developed for logic programming. Bugs can be located using only declarative knowledge of the program (what results returned by procedures are correct) rather than procedural knowledge (the sequence of operations performed during execution) This ....
Nachum Dershowitz and Yuh-Jeng Lee. Deductive debugging. In Proceedings of the Fourth IEEE Symposium on Logic Programming, pages 298--306, San Francisco, California, August 1987.
....symbols and functors of L become functors of M. Atoms which are not the same up to variable renaming have different images. One may argue that assertions can be used for full specification of the intended model. This would amount to giving an alternative correct version of the buggy program (Dershowitz and Lee 1987). Such a solution is completely unrealistic in most cases. It is often suggested that while developing a new version of an existing program the existing version can be used as an oracle (e.g. Sterling and Shapiro 1986) Taken literally, this idea is also unrealistic because it requires that ....
Dershowitz, N., and Lee, Y., Deductive Debugging, Proceedings of the IEEE Symposium on Logic Programming - San Francisco 1987 : 298-306.
No context found.
N. Dershowitz and Y-J.. Lee. Deductive debugging. In Proceedings of the 1987 Logic Programming Symposium, San Fransisco, USA, pages 298-- 306. IEEE Computer Society, 1987.
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