Commutativity analysis for XML updates

An effective approach to support XML updates is to use XQuery extended with update operations. This approach results in very expressive languages which are convenient for users but are difficult to optimize or reason about. A crucial question underlying many static analysis problems for such languages, from optimization to view maintenance, is whether two expressions commute. Unfortunately, commutativity is undecidable for most existing XML update languages. In this article, we propose a conservative analysis for an expressive XML update language that can be used to determine commutativity. The approach relies on a form of path analysis that computes upper bounds for the nodes that are accessed or modified in a given expression. Our main result is a theorem that can be used to identify commuting expressions. We illustrate how the technique applies to concrete examples of query optimization in the presence of updates.

[1]  Charles Elkan,et al.  Independence of logic database queries and update , 1990, PODS '90.

[2]  Alon Y. Halevy,et al.  Updating XML , 2001, SIGMOD '01.

[3]  Jan Hidders,et al.  A Transaction Model for XML Databases , 2004, World Wide Web.

[4]  Alon Y. Halevy,et al.  Queries Independent of Updates , 1993, VLDB.

[5]  Dan Suciu,et al.  Containment and equivalence for a fragment of XPath , 2004, JACM.

[6]  Dennis Shasha,et al.  A Symmetric Concurrent B-Tree Algorithm , 2011, Fall Joint Computer Conference.

[7]  P. Wadler Two semantics for XPath , 2000 .

[8]  Michael J. Carey,et al.  Programming with XQuery , 2006, XIME-P.

[9]  Michael Benedikt,et al.  Verification of Tree Updates for Optimization , 2005, CAV.

[10]  Jan Hidders,et al.  On the Expressive Power of XQuery-Based Update Languages , 2006, XSym.

[11]  Giorgio Ghelli,et al.  Commutativity Analysis in XML Update Languages , 2007, ICDT.

[12]  Philip Wadler,et al.  Links: Web Programming Without Tiers , 2006, FMCO.

[13]  Amélie Marian,et al.  Projecting XML Documents , 2003, VLDB.

[14]  Jan Hidders,et al.  Instance Independent Concurrency Control for Semistructured Databases , 2003, SEBD.

[15]  Gabriel M. Kuper,et al.  Structural properties of XPath fragments , 2003, Theor. Comput. Sci..

[16]  Arvind Malhotra,et al.  Xml schema part 2: datatypes , 1999 .

[17]  Christopher Ré,et al.  XQuery!: An XML Query Language with Side Effects , 2006, EDBT Workshops.

[18]  Michael Benedikt,et al.  Adding Updates to XQuery: Semantics, Optimization, and Static Analysis , 2005, XIME-P.

[19]  Mads Tofte,et al.  Region-based Memory Management , 1997, Inf. Comput..

[20]  Scott Boag,et al.  XQuery 1.0 : An XML Query Language , 2007 .

[21]  Volker Linnemann,et al.  On the intersection of XPath expressions , 2005, 9th International Database Engineering & Application Symposium (IDEAS'05).