Analysis of imperative XML programs

  • Authors:
  • Christoph Reichenbach;Michael G. Burke;Igor Peshansky;Mukund Raghavachari

  • Affiliations:
  • University of Colorado at Boulder, United States;IBM T.J. Watson Research Center, United States;IBM T.J. Watson Research Center, United States;Google Inc., United States

  • Venue:
  • Information Systems
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

The widespread adoption of XML has led to programming languages that support XML as a first class construct. In this paper, we present a method for analyzing and optimizing imperative XML processing programs. In particular, we present a program analysis, based on a flow-sensitive type system, for detecting both redundant computations and redundant traversals in such programs. The analysis handles imperative loops that traverse XML values explicitly and declarative queries over XML data in a uniform framework. We describe two optimizations that take advantage of our analysis: one merges queries that traverse the same set of XML nodes, and the other replaces an XPath expression by a previously computed result. We demonstrate performance improvements for selected XMark benchmark queries and XLinq sample queries.