Abstract
Justification is the process of constructing evidence, in terms of proof, for the truth or falsity of an answer derived by tabled evaluation. The evidence is most easily constructed by post-processing the memo tables created during query evaluation. In this paper we introduce online justification, based on program transformation, to efficiently construct the evidence during query evaluation, while adding little overhead to the evaluation itself. Apart from its efficiency, online justification separates evidence generation from exploration thereby providing flexibility in exploring the evidence either declaratively or procedurally. We present experimental results obtained on examples that construct large evidences which demonstrate the scalability of online justification.
This research was supported in part by NSF grants CCR-9876242, IIS-0072927, CCR-0205376, CCR-0311512, and ONR grant N000140110967.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Basu, S., Saha, D., Lin, Y.-J., Smolka, S.A.: Generation of all counter-examples for push-down systems. In: König, H., Heiner, M., Wolisz, A. (eds.) FORTE 2003. LNCS, vol. 2767, Springer, Heidelberg (2003)
Cameron, M., García de la Banda, M., Marriott, K., Moulder, P.: Vimer: a visual debugger for mercury. In: Proceedings of the 5th ACM SIGPLAN (2003)
Clarke, E.M., Grumberg, O., McMillan, K.L., Zhao, X.: Efficient generation of countterexamples and witnesses in symbolic model checking. In: 32nd Design Automation Conference (1995)
Deransart, P., Hermenegildo, M., Maluszynski, J.: DiSCiPl 1999. LNCS, vol. 1870. Springer, Heidelberg (2000)
Dong, Y., Ramakrishnan, C.R., Smolka, S.A.: Evidence Explorer: A tool for exploring model-checking proofs. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 215–218. Springer, Heidelberg (2003)
Dong, Y., Ramakrishnan, C.R.: Logic programming optimizations for faster model checking. In: TAPD, Vigo, Spain (September 2000)
Freire, J., Swift, T., Warren, D.S.: Beyond depth-first: Improving tabled logic programs through alternative scheduling strategies. In: PLILP (1996)
Guo, H.-F., Gupta, G.: A simple scheme for implementing tabled logic programming systems based on dynamic reordering of alternatives. In: Codognet, P. (ed.) ICLP 2001. LNCS, vol. 2237, p. 181. Springer, Heidelberg (2001)
Guo, H.-F., Ramakrishnan, C.R., Ramakrishnan, I.V.: Speculative beats conservative justification. In: Codognet, P. (ed.) ICLP 2001. LNCS, vol. 2237, p. 150. Springer, Heidelberg (2001)
Lloyd, J.W.: Declarative error diagnosis. New Generation Computing (1987)
Lloyd, J.W.: Foundations of Logic Programming. Springer, Heidelberg (1987)
Mallet, S., Ducasse, M.: Generating deductive database explanations. In: ICLP (1999)
Naish, L., Dart, P.W., Zobel, J.: The NU-Prolog debugging environment. In: ICLP (1999)
Puebla, G., Bueno, F., Hermenegildo, M.: A framework for assertion-based debugging in constraint logic programming. In: Bossi, A. (ed.) LOPSTR 1999. LNCS, vol. 1817, Springer, Heidelberg (2000)
Ramakrishnan, C.R., Ramakrishnan, I.V., Smolka, S.A., Dong, Y., Du, X., Roychoudhury, A., Venkatakrishnan, V.N.: XMC: A logic programming-based verification toolset. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, Springer, Heidelberg (2000)
Roop, P.: Forced Simulation: A Formal Approach to Component Based Development of Embedded Systems. PhD thesis, Computer Science and Engineering, University of New South Wales (2000)
Roychoudhury, A., Ramakrishnan, C.R., Ramakrishnan, I.V.: Justifying proofs using memo tables. In: Principles and Practice of Declarative Programming. ACM Press, New York (2000)
Shapiro, E.: Algorithmic program diagnosis. In: Proceedings of POPL 1982 (1982)
Specht, G.: Generating explanation trees even for negations in deductive database systems. In: ILPS 1993 Workshop on Logic Programming Environments (1993)
Swift, T., Warren, D.S.: An abstract machine for SLG resolution: definite programs. In: Proceedings of the Symposium on Logic Programming (1994)
D.S. Warren. Programming in Tabled Prolog (1999), Early draft available at http://www.cs.sunysb.edu/~warren/xsbbook/book.html
XSB. The XSB logic programming system, Available at http://xsb.sourceforge.net
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Pemmasani, G., Guo, HF., Dong, Y., Ramakrishnan, C.R., Ramakrishnan, I.V. (2004). Online Justification for Tabled Logic Programs. In: Kameyama, Y., Stuckey, P.J. (eds) Functional and Logic Programming. FLOPS 2004. Lecture Notes in Computer Science, vol 2998. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24754-8_4
Download citation
DOI: https://doi.org/10.1007/978-3-540-24754-8_4
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-21402-1
Online ISBN: 978-3-540-24754-8
eBook Packages: Springer Book Archive