Jump label

Service navigation

Main navigation

You are here:

Main content

Data-Intensive XQuery Debugging with Instant Replay


Data-Intensive XQuery Debugging with Instant Replay


Torsten Grust, Jan Rittinger, and Jens Teubner


Proc. of the 4th Int'l Workshop on XQuery Implementation, Experience, and Perspectives (XIME-P)


paper (PDF)


We explore the design and implementation of Rover, a postmortem debugger for XQuery. Rather than being based on the traditional breakpoint model, Rover acknowledges XQuery’s nature as a functional language: the debugger follows a declarative debugging paradigm in which a user is enabled to observe the values of selected XQuery subexpressions. Rover has been designed to hook into Pathfinder, an XQuery compiler that emits relational algebra plans for evaluation on commodity relational database back-ends. The debugger instruments the subject query with fn:trace() calls which, at query runtime, populate database tables with relational representations of XQuery item sequences. Thanks to Pathfinder’s loop-lifting compilation strategy, a Rover trace (1) may span multiple XQuery for iteration scopes and (2) allows for interactive debugging sessions that can arbitrarily replay iterations in a unique forward/backward fashion. Since the query runtime as well as the debugger are database-supported, Rover is scalable and supports the observation of very data-intensive XQuery expressions.


Sub content


Prof. Dr. Jens Teubner
Tel.: 0231 755-6481