Verification of tree updates for optimization

  • Authors:
  • Michael Benedikt;Angela Bonifati;Sergio Flesca;Avinash Vyas

  • Affiliations:
  • Bell Laboratories;Icar CNR, Italy;D.E.I.S., University of Calabria;Bell Laboratories

  • Venue:
  • CAV'05 Proceedings of the 17th international conference on Computer Aided Verification
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

With the rise of XML as a standard format for representing tree-shaped data, new programming tools have emerged for specifying transformations to tree-like structures. A recent example along this line are the update languages of [16,15,8] which add tree update primitives on top of the declarative query languages XPath and XQuery. These tree update languages use a “snapshot semantics”, in which all querying is performed first, after which a generated sequence of concrete updates is performed in a fixed order determined by query evaluation. In order to gain efficiency, one would prefer to perform updates as soon as they are generated, before further querying. This motivates a specific verification problem: given a tree update program, determine whether generated updates can be performed before all querying is completed. We formalize this notion, which we call “Binding Independence”. We give an algorithm to verify that a tree update program is Binding Independent, and show how this analysis can be used to produce optimized evaluation orderings that significantly reduce processing time.