Michael G. Burke, Barbara Gershon Ryder
IEEE Transactions on Software Engineering
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.
Michael G. Burke, Barbara Gershon Ryder
IEEE Transactions on Software Engineering
David Grove, Olivier Tardieu, et al.
PLDI 2011
Ganesh Bikshandi, Gheorghe Almasi, et al.
PGAS 2009
Olivier Tardieu, Nathaniel Nystrom, et al.
OOPSLA 2012