Ganesh Bikshandi, Jose G. Castanos, et al.
PPoPP 2009
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. © 2009 Elsevier B.V. All rights reserved.
Ganesh Bikshandi, Jose G. Castanos, et al.
PPoPP 2009
Rajesh Bordawekar, Michael Burke, et al.
OOPSLA 2005
Ganesh Bikshandi, Gheorghe Almasi, et al.
PGAS 2009
David Grove, Olivier Tardieu, et al.
PLDI 2011