Skip to main content

Explaining program execution in deductive systems

  • Conference paper
  • First Online:
Deductive and Object-Oriented Databases (DOOD 1993)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 760))

Included in the following conference series:

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.

The work of the authors was supported by a David and Lucile Packard Foundation Fellowship in Science and Engineering, a Presidential Young Investigator Award with matching grants from DEC, Tandem and Xerox, and NSF grant IRI-9011563.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Ehud Y. Shapiro. Algorithmic Program Debugging. MIT Press, Cambridge, Massachusetts, 1983.

    Google Scholar 

  12. O. Shmueli and S. Tsur. Logical diagnosis of LDL programs. In Proceedings of the Seventh International Conference on Logic Programming, 1990.

    Google Scholar 

  13. F. Staes. The Interactive LOCO Debugger: User Manual. University of Antwerp, UIA.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Stefano Ceri Katsumi Tanaka Shalom Tsur

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Arora, T., Ramakrishnan, R., Roth, W.G., Seshadri, P., Srivastava, D. (1993). Explaining program execution in deductive systems. In: Ceri, S., Tanaka, K., Tsur, S. (eds) Deductive and Object-Oriented Databases. DOOD 1993. Lecture Notes in Computer Science, vol 760. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57530-8_7

Download citation

  • DOI: https://doi.org/10.1007/3-540-57530-8_7

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57530-6

  • Online ISBN: 978-3-540-48212-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics