KIT | KIT-Bibliothek | Impressum | Datenschutz

Interactive Debugging of Datalog Programs

Pacak, André; Erdweg, Sebastian ORCID iD icon 1
1 Institut für Programmstrukturen und Datenorganisation (IPD), Karlsruher Institut für Technologie (KIT)

Abstract (englisch):

Datalog is used for complex programming tasks nowadays, consisting of numerous inter-dependent predicates. But Datalog lacks interactive debugging techniques that support the stepwise execution and inspection of the execution state. In this paper, we propose interactive debugging of Datalog programs following a top-down evaluation strategy called recursive query/subquery. While the recursive query/subquery approach is well-known in the literature, we are the first to provide a complete programming-language semantics based on it. Specifically, we develop the first small-step operational semantics for top-down Datalog, where subqueries occur as nested intermediate terms. The small-step semantics forms the basis of step-into interactions in the debugger. Moreover, we show how step-over interactions can be realized efficiently based on a hybrid Datalog semantics that adds a bottom-up database to our top-down operational semantics. We implemented a debugger for core Datalog following these semantics and explain how to adopt it for debugging the frontend languages of Soufflé and IncA. Our evaluation shows that our hybrid Datalog semantics can be used to debug real-world Datalog programs with realistic workloads.


Verlagsausgabe §
DOI: 10.5445/IR/1000188608
Veröffentlicht am 17.12.2025
Originalveröffentlichung
DOI: 10.1145/3622824
Scopus
Zitationen: 2
Dimensions
Zitationen: 2
Cover der Publikation
Zugehörige Institution(en) am KIT Institut für Programmstrukturen und Datenorganisation (IPD)
Publikationstyp Zeitschriftenaufsatz
Publikationsdatum 16.10.2023
Sprache Englisch
Identifikator ISSN: 2475-1421
KITopen-ID: 1000188608
Erschienen in Proceedings of the ACM on programming languages
Verlag Association for Computing Machinery (ACM)
Band 7
Heft OOPSLA2
Seiten 745-772
Schlagwörter debugging, Datalog, small-step operational semantics, QSQR
Nachgewiesen in Scopus
Dimensions
OpenAlex
KIT – Die Universität in der Helmholtz-Gemeinschaft
KITopen Landing Page