Advertisement

Explaining program execution in deductive systems

  • Tarun Arora
  • Raghu Ramakrishnan
  • William G. Roth
  • Praveen Seshadri
  • Divesh Srivastava
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 760)

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [BR87]
    Catriel Beeri and Raghu Ramakrishnan. On the power of Magic. In Proceedings of the ACM Symposium on Principles of Database Systems, pages 269–283, San Diego, California, March 1987.Google Scholar
  2. [DE88]
    M. Ducassé and A. M. Emde. A review of automated debugging systems. In Proceedings of the 10th International Conference on Software Engineering, pages 162–171, April 1988.Google Scholar
  3. [DMP93]
    Marcia A. Derr, Shinichi Morishita, and Geoffrey Phipps. Design and implementation of the glue-nail database system. In Proceedings of ACM SIG-MOD International Conference on Management of Data, 1993.Google Scholar
  4. [Duc92]
    M. Ducassé. A general trace query mechanism based on prolog. In Proceedings of the Fourth International Symposium on Programming Language Implementation and Logic Programming, August 1992.Google Scholar
  5. [Mot86]
    Amihai Motro. Seave: A mechanism for verifying user presuppositions in query systems. ACM Transactions on Office Information Systems, 4(4):312–330, October 1986.Google Scholar
  6. [Mot90]
    Amihai Motro. Flex: A tolerant and cooperative user interface to databases. IEEE Transactions on Knowledge and Data Engineering, 2(2):231–246, June 1990.Google Scholar
  7. [Ram88]
    Raghu Ramakrishnan. Magic templates: A spellbinding approach to logic programs. In Proceedings of the International Conference on Logic Programming, pages 140–159, Seattle, Washington, August 1988.Google Scholar
  8. [RSS92]
    Raghu Ramakrishnan, Divesh Srivastava, and S. Sudarshan. Coral — control, relations and logic. In Proceedings of the International Conference on Very Large Databases(VLDB), pages 238–249, 1992.Google Scholar
  9. [RSSS93a]
    Raghu Ramakrishnan, Praveen Seshadri, Divesh Srivastava, and S. Sudarshan. The CORAL User Manual. University of Wisconsin, Madison, 1.0 edition, January 1993.Google Scholar
  10. [RSSS93b]
    Raghu Ramakrishnan, Divesh Srivastava, S. Sudarshan, and Praveen Seshadri. Implementation of the CORAL deductive database system. In Proceedings of ACM SIGMOD International Conference on Management of Data, 1993.Google Scholar
  11. [Sha83]
    Ehud Y. Shapiro. Algorithmic Program Debugging. MIT Press, Cambridge, Massachusetts, 1983.Google Scholar
  12. [ST90]
    O. Shmueli and S. Tsur. Logical diagnosis of LDL programs. In Proceedings of the Seventh International Conference on Logic Programming, 1990.Google Scholar
  13. [Sta]
    F. Staes. The Interactive LOCO Debugger: User Manual. University of Antwerp, UIA.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • Tarun Arora
    • 1
  • Raghu Ramakrishnan
    • 1
  • William G. Roth
    • 1
  • Praveen Seshadri
    • 1
  • Divesh Srivastava
    • 1
  1. 1.Computer Sciences DepartmentUniversity of Wisconsin-MadisonMadisonUSA

Personalised recommendations