MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Explaining program execution in deductive systems (1993) [15 citations — 1 self]

Download:
Download as a PDF | Download as a PS
by Tarun Arora, Raghu Ramakrishnan, William G. Roth, Praveen Seshadri, Divesh Srivastava
Proceedings of the Deductive and Object-Oriented Databases Conference, volume 760 of LNCS
http://www.research.att.com/~divesh/papers/arrss93-explain.ps
Add To MetaCart

Abstract:

Abstract. Programs in deductive database and programming systems have a natural meaning that is based upon their mathematical reading as logical rules. High-level `explanations ' of a program evaluation/execution can be constructed to provide added functionality: (1) To debug a program by following a chain of deductions leading to an unexpected (and possibly incorrect) conclusion; (2) To follow the derivation of certain correct conclusions to determine why and how they are reached; (3) To identify consequences of a (typically, incorrect or unexpected) fact. This functionality can be utilized either to perform post-mortem analysis of a session, or to interactively develop programs by running queries and viewing their deductions simultaneously. `Explanations ' of programs are especially important in the context of deductive databases for three reasons: (1) These programs could involve recursion, and hence, the chain of inferences is often not evident. (2) When the input data set is large, it is very difficult for a user to inspect the data and determine which facts lead to which answers, and exactly how. (3) Such programs do not guarantee a fixed evaluation strategy, and this makes it difficult for a user to comprehend unexpected behavior of a program. With this motivation, we have designed and implemented an explanation facility for the CORAL deductive database system. The design is based on the representation of a program evaluation as a set of derivation trees, and the facility provides a high-level explanation of the inferences carried out during program execution. A notable feature of the implementation is the boot-strapped use of CORAL in the implementation of the explanation tool. We believe that an explanation system can provide a novel approach to interactively querying data, and is useful even for standard relational databases. 1

Citations

418 Algorithmic Program Debugging – Shapiro - 1983
309 The X window system – Scheifler, Gettys - 1986
109 S.: Coral - control, relations and logic – Ramakrishnan, Srivastava, et al. - 1992
40 FLEX: A tolerant and cooperative user interface to databases – Motro - 1990
36 Design and Implementation of the Glue-NAIL Database System – Derr, Morishita, et al. - 1993
20 SEAVE: A mechanism for verifying user presuppositions in query systems – Motro - 1986
13 templates: A spellbinding approach to logic programs – Magic - 1988
9 Praveen Seshadri. Implementation of the CORAL Deductive Database System – Ramakrishnan, Srivastava, et al. - 1993
6 Logical diagnosis of LDL programs – Shmueli, Tsur - 1990
1 A review of automated debugging systems – Ducass'e, Emde - 1988
1 A general trace query mechanism based on prolog – Ducass'e - 1992
1 The Interactive LOCO Debugger : User Manual. University of Antwerp, UIA. This article was processed using the L a T E X macro package with LLNCS style – Staes
1 The Interactive LOCO Debugger – Staes