Analysis of imperative XML programs

Research output: Contribution to journalArticle


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.


External organisations
  • University of Colorado
  • IBM Thomas J. Watson Research Center
  • Google Inc.
Research areas and keywords

Subject classification (UKÄ) – MANDATORY

  • Computer Science


  • Imperative programming, Program analysis, XML
Original languageEnglish
Pages (from-to)624-642
Number of pages19
JournalInformation Systems
Issue number7
Publication statusPublished - 2009 Nov 1
Publication categoryResearch
Externally publishedYes