Computing Publications

Publications Home » A Declarative Framework for Analy...

A Declarative Framework for Analysis and Optimization

Henry Falconer, Paul Kelly, David Ingram, Michael Mellor, A. J. Field, Olav Beckmann

Conference or Workshop Paper
CC 2007, 16th International Conference on Compiler Construction, Braga, Portugal, March 26-30, 2007
March, 2007
Lecture Notes in Computer Science
Volume 4420
pp.218–232
Springer
DOI 10.1007/978-3-540-71229-9_15
Abstract

DeepWeaver-1 is a tool supporting cross-cutting program analysis and transformation components, called "weaves". Like an aspect, a DeepWeaver weave consists of a query part, and a part which may modify code. DeepWeaver's query language is based on Prolog, and provides access to data-flow and control-flow reachability analyses. DeepWeaver provides a declarative way to access the internal structure of methods, and supports cross-cutting weaves which operate on code blocks from different parts of the codebase simultaneously. DeepWeaver operates at the level of bytecode, but offers predicates to extract structured control flow constructs. This paper motivates the design, and demonstrates some of its power, using a sequence of examples including performance profiling and domain-specific performance optimisations for database access and remote method invocation.

BibTEX file for the publication
 

pubs.doc.ic.ac.uk: built & maintained by Ashok Argent-Katwala.