A Theoretical Framework for the Declarative Debugging of Datalog Programs

  • Authors:
  • R. Caballero;Y. García-Ruiz;F. Sáenz-Pérez

  • Affiliations:
  • Departamento de Sistemas Informáticos y Computación, Universidad Complutense de Madrid, Spain;Departamento de Sistemas Informáticos y Computación, Universidad Complutense de Madrid, Spain;Departamento de Ingeniería del Software e Inteligencia Artificial, Universidad Complutense de Madrid, Spain

  • Venue:
  • Semantics in Data and Knowledge Bases
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

The logic programming language Datalog has been extensively researched as a query language for deductive databases. Although similar to Prolog, the Datalog operational mechanisms are more intricate, leading to computations quite hard to debug by traditional approaches. In this paper, we present a theoretical framework for debugging Datalog programs based on the ideas of declarative debugging. In our setting, a debugging session starts when the user detects an unexpected answer for some query, and ends with the debugger pointing to either an erroneous predicate or to a set of mutually recursive predicates as the cause of the unexpected answer. Instead of representing the computations by means of trees, as usual in declarative debugging, we propose graphs as a more convenient structure in the case of Datalog, proving formally the soundness and completeness of the debugging technique. We also present a debugging tool implemented in the publicly available deductive database system DES following this theoretical framework.