A New Proposal for Debugging Datalog Programs

In this paper, we propose to apply declarative debugging to Datalog programs. Our approach relies on program semantics rather than on the computation mechanism. The debugging process starts when the user detects an unexpected answer. By asking questions about the intended semantics, the debugger looks for incorrect program relations. While usual declarative debuggers for other languages are based on computation trees, we show that graphs are more convenient structures for representing Datalog computations. The theoretical framework is complemented by the implementation of a debugger for the deductive database system DES, a publicly available open-source project.

[1]  Christos Faloutsos,et al.  Advanced Database Systems , 1997, Lecture Notes in Computer Science.

[2]  Leon Sterling,et al.  The Art of Prolog - Advanced Programming Techniques , 1986 .

[3]  Francesco Russo,et al.  A Declarative Debugging Environment for DATALOG , 1991, RCLP.

[4]  John Wylie Lloyd,et al.  Foundations of Logic Programming , 1987, Symbolic Computation.

[5]  Adrian Walker,et al.  Towards a Theory of Declarative Knowledge , 1988, Foundations of Deductive Databases and Logic Programming..

[6]  Rafael Caballero A declarative debugger of incorrect answers for constraint functional-logic programs , 2005, WCFLP '05.

[7]  Jeffrey D. Ullman,et al.  A survey of deductive database systems , 1995, J. Log. Program..

[8]  Christian A. Wieland Two Explanation Facilities for the Deductive Database Management System DeDEx , 1990, ER.

[9]  Herbert Kuchen,et al.  Algorithmic Debugging of Java Programs , 2007, WFLP.

[10]  Josep Silva,et al.  A Comparative Study of Algorithmic Debugging Strategies , 2006, LOPSTR.

[11]  Hisao Tamaki,et al.  OLD Resolution with Tabulation , 1986, ICLP.

[12]  Lee Naish A Declarative Debugging Scheme , 1997, J. Funct. Log. Program..

[13]  Suzanne W. Dietrich,et al.  Extension Tables: Memo Relations in Logic Programming , 1987, SLP.

[14]  Catriel Beeri,et al.  On the power of magic , 1987, J. Log. Program..

[15]  Kotagiri Ramamohanarao,et al.  Deductive and Object-Oriented Databases , 1997, Lecture Notes in Computer Science.

[16]  Divesh Srivastava,et al.  Explaining Program Execution in Deductive Systems , 1993, DOOD.

[17]  Günther Specht Generating Explanation Trees even for Negations in Deductive DataBase Systems , 1993, LPE.

[18]  Ehud Shapiro,et al.  Algorithmic Program Debugging , 1983 .