Skip to main content

Speculative Beats Conservative Justification

  • Conference paper
  • First Online:

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

Abstract

Justifying the truth value of a goal resulting from query evaluation of a logic program corresponds to providing evidence, in terms of a proof, for this truth. In an earlier work we introduced the notion of justification [8] and gave an algorithm for justifying tabled logic programs by post-processing the memo tables created during evaluation. A conservatve justifier such as the one described in that work proceeds in two separate stages: evaluate the truth of literals (that can possibly contribute to the evidence) in the first stage and construct the justification in the next stage. Justifications built in this fashion seldom fail. Whereas for tabled predicates evaluation amounts to a simple table look-up during justification, for non-tabled predicates this amounts to Prolog-style re-execution. In a conservative justifier a non-tabled literal can be re-executed causing unacceptable performance overheads for programs with significant nontabled components: justification time for a single non-tabled literal can become quadratic in its evaluation time!

In this paper we introduce the concept of a speculative justifier. In such a justifier we evaluate the truths of literals in tandem with justification. Specifically, we select literals that can possibly provide evidence for the goal’s truth, assume that their truth values correspond to the goal’s and proceed to build a justification for each of them. Since these truths are not computed before hand, justfications produced in this fashion may fail often. On the other hand non-tabled literals are re-executed less often than conservative justifiers. We discuss the subtle efficiency issues that arise in the construction of speculative justifiers. We show how to judiciously balance the different efficiency concerns and engineer a speculative justifier that addresses the performance problem associated with conservative justifiers. We provide experimental evidence of its efficiency and scalability in justifying the results of our XMC model checker.

Research partially supported by NSF awards EIA-9705998, CCR-9876242, IIS- 0072927, and EIA-9901602.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. C.R Ramakrishnan, I.V. Ramakrishnan, S.A. Smolka, Y. Dong, X. Du, A. Roychoudhury, and V.N. Venkatakrishnan. Xmc: A logic programming based verification toolset. In Computer Aided Verification, 2000.

    Google Scholar 

  2. G.J. Holzmann. The model checker SPIN. In IEEE Transactions on Software Engineering, 23(5):279–295, 1997.

    Article  MathSciNet  Google Scholar 

  3. S. Dawson, C.R. Ramkrishnan, I.V. Ramakrishnan and T. Swift. Optimizing Clause Resolution: Beyond Uni.cation Factoring. In International Logic Programming Symposium, 1995.

    Google Scholar 

  4. J.W. Lloyd. Declarative error diagnosis. In New Generation Computing, 5(2):133–154, 1987.

    Article  MATH  Google Scholar 

  5. S. Mallet and M. Ducasse. Generating deductive database explanations. Proceedings of ICLP, 154–168, 1999

    Google Scholar 

  6. L. Naish, P.W. Dart, and J. Zobel. The NU-prolog debugging environment. In ICLP, pages 521–536, 1989.

    Google Scholar 

  7. G. Puebla, F. Bueno, and M. Hermenegildo. A framework for assertion-based debugging in constraint logic programming. In Pre-proceedings of LOPSTR, 1999.

    Google Scholar 

  8. Abhik Roychoudhury, C. R. Ramakrishnan, and I. V. Ramakrishnan. Justifying proofs using memo tables. In PPDP 2000, pages 178–189.

    Google Scholar 

  9. Y.S. Ramakrishna, C.R. Ramakrishnan, I.V. Ramakrishnan, S.A. Smolka, T. Swift, and D.S. Warren. Efficient model checking using tabled resolution. In CAV, LNCS 1254, 1997.

    Google Scholar 

  10. Ehud Y. Shapiro. Algorithmic program diagnosis. In POPL, 1982.

    Google Scholar 

  11. Prasad Rao, C.R. Ramakrishnan, and I.V. Ramakrishnan. A Thread in Time Saves Tabling Time. In IICSLP, 1996.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Guo, HF., Ramakrishnan, C.R., Ramakrishnan, I.V. (2001). Speculative Beats Conservative Justification. In: Codognet, P. (eds) Logic Programming. ICLP 2001. Lecture Notes in Computer Science, vol 2237. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45635-X_18

Download citation

  • DOI: https://doi.org/10.1007/3-540-45635-X_18

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-42935-7

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics