Publication

Systems Group Master's Thesis, no. ETH Zürich; Department of Computer Science, April 2008
Supervised by: Prof. Donald Kossmann
This document discusses the problem of debugging functional languages in general, and XQuery-based languages in particular. The task of debugging an XQuery program is complex, because of the functional nature of the language and because of the rewrites and optimizations performed by execution engines that prevent the usual "stepping-through" style of inspection. The goal of this work is to create the necessary infrastructure to write, run and debug XQuery-based programs using the Eclipse Platform and the open source XQuery execution engines, MXQuery and Zorba. The instrumentations needed in order to add debugging support to one of these engines is also described in this document. This thesis also contains a detailed description of the engine debug protocol that we developed in order to be able to link any two debugger client and an execution engine that implement our specified debug interface. Together with the engine debug interface implementation we also provide a description of a prototype debugger client user interface based on the Eclipse Platform that supports our execution engine debugger.
@mastersthesis{abc,
	abstract = {This document discusses the problem of debugging functional languages in general, and
XQuery-based languages in particular. The task of debugging an XQuery program is
complex, because of the functional nature of the language and because of the rewrites and
optimizations performed by execution engines that prevent the usual "stepping-through"
style of inspection.
The goal of this work is to create the necessary infrastructure to write, run and debug
XQuery-based programs using the Eclipse Platform and the open source XQuery
execution engines, MXQuery and Zorba. The instrumentations needed in order to add
debugging support to one of these engines is also described in this document.
This thesis also contains a detailed description of the engine debug protocol that we
developed in order to be able to link any two debugger client and an execution engine
that implement our specified debug interface.
Together with the engine debug interface implementation we also provide a description
of a prototype debugger client user interface based on the Eclipse Platform that supports
our execution engine debugger.},
	author = {Gabriel Petrovay},
	school = {ETH Z{\"u}rich},
	title = {XQuery (Scripting) Debugging IDE and engine support},
	year = {2008}
}