ACM Home Page
Please provide us with feedback. Feedback
Data-intensive XQuery debugging with instant replay
Full text PdfPdf (446 KB)
Source Workshop on XQuery Implementation, Experience and Perspectives archive
Proceedings of the 4th international workshop on XQuery implementation, experience and perspectives table of contents
Beijing, China
Article No. 4  
Year of Publication: 2007
ISBN:978-1-59593-800-8
Authors
Torsten Grust  Technische Universität München, Munich, Germany
Jan Rittinger  Technische Universität München, Munich, Germany
Jens Teubner  Technische Universität München, Munich, Germany
Sponsor
SIGMOD: ACM Special Interest Group on Management of Data
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 2,   Downloads (12 Months): 21,   Citation Count: 0
Additional Information:

abstract   references   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1328158.1328162
What is a DOI?

ABSTRACT

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
S. Boag, D. Chamberlin, M. F. Fernández, D. Florescu, J. Robie, and J. Siméon. XQuery 1.0: An XML Query Language. W3 Consortium, 2007.
2
 
3
R. Caballero, C. Herrmans, and H. Kuchen. Algorithmic Debugging of Java Programs. In Proc. WFLP, 2006.
 
4
D. Chamberlin, P. Fankhauser, D. Florescu, M. Marchiori, and J. Robie. XML Query Use Cases. W3 Consortium, 2007.
 
5
D. Draper, P. Fankhauser, M. F. Fernández, A. Malhotra, K. Rose, M. Rys, J. Siméon, and P. Wadler. XQuery 1.0 and XPath 2.0 Formal Semantics. W3 Consortium, 2007.
6
7
 
8
T. Grust. Purely Relational FLWORs. In Proc. XIME-P Workshop, 2005.
 
9
 
10
M. Kay. The Saxon XSLT and XQuery Processor. http://www.saxonica.com/.
 
11
A. Malhotra, J. Melton, and N. Walsh. XQuery 1.0 and XPath 2.0 Functions and Operators. W3 Consortium, 2007.
12
 
13
S. Peyton-Jones. The Implementation of Functional Programming Languages. Prentice Hall, 1986.
14
 
15
 
16
Collaborative Colleagues:
Torsten Grust: colleagues
Jan Rittinger: colleagues
Jens Teubner: colleagues