Identifying query incompatibilities with evolving XML schemas

During the life cycle of an XML application, both schemas and queries may change from one version to another. Schema evolutions may affect query results and potentially the validity of produced data. Nowadays, a challenge is to assess and accommodate the impact of these changes in evolving XML applications. Such questions arise naturally in XML static analyzers. These analyzers often rely on decision procedures such as inclusion between XML schemas, query containment and satisfiability. However, existing decision procedures cannot be used directly in this context. The reason is that they are unable to distinguish information related to the evolution from information corresponding to bugs. This paper proposes a predicate language within a logical framework that can be used to make this distinction. We present a system for monitoring the effect of schema evolutions on the set of admissible documents and on the results of queries. The system is very powerful in analyzing various scenarios where the result of a query may not be anymore what was expected. Specifically, the system is based on a set of predicates which allow a fine-grained analysis for a wide range of forward and backward compatibility issues. Moreover, the system can produce counterexamples and witness documents which are useful for debugging purposes. The current implementation has been tested with realistic use cases, where it allows identifying queries that must be reformulated in order to produce the expected results across successive schema versions.

[1]  Carlo Curino,et al.  Managing and querying transaction-time databases under schema evolution , 2008, Proc. VLDB Endow..

[2]  Paolo Manghi,et al.  Static analysis for path correctness of XML queries , 2006, J. Funct. Program..

[3]  Giuseppe Castagna,et al.  CDuce: an XML-centric general-purpose language , 2003, ICFP '03.

[4]  Fatma Özcan,et al.  DB2/XML: designing for evolution , 2005, SIGMOD '05.

[5]  Benjamin C. Pierce,et al.  XDuce: A statically typed XML processing language , 2003, TOIT.

[6]  Eric Sedlar Managing structure in bits & pieces: the killer use case for XML , 2005, SIGMOD '05.

[7]  Michael Benedikt,et al.  XPath satisfiability in the presence of DTDs , 2008, JACM.

[8]  Pierre Genevès,et al.  XML reasoning made practical , 2010, 2010 IEEE 26th International Conference on Data Engineering (ICDE 2010).

[9]  Cong Yu,et al.  Semantic Adaptation of Schema Mappings when Schemas Evolve , 2005, VLDB.

[10]  Lipyeow Lim,et al.  Preserving XML queries during schema evolution , 2007, WWW '07.

[11]  Benjamin C. Pierce,et al.  Statically Typed Document Transformation: An Xtatic Experience , 2006, PLAN-X.

[12]  Paolo Manghi,et al.  Types for path correctness of XML queries , 2004, ICFP '04.

[13]  Giuseppe Castagna,et al.  CDuce: an XML-centric general-purpose language , 2003, ACM SIGPLAN Notices.

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

[15]  Anders Møller,et al.  The Design Space of Type Checkers for XML Transformation Languages , 2004, ICDT.

[16]  Pierre Genevès,et al.  Efficient static analysis of XML paths and types , 2007, PLDI '07.

[17]  Kristoffer Høgsbro Rose The XML world view , 2004, DocEng '04.

[18]  Murali Mani,et al.  Taxonomy of XML schema languages using formal language theory , 2005, TOIT.

[19]  Pierre Genevès,et al.  Logics for XML , 2008, ArXiv.

[20]  Benjamin C. Pierce,et al.  Regular expression types for XML , 2005, ACM Trans. Program. Lang. Syst..