International Conference on Compiler Construction

CC 2007: Compiler Construction pp 218-232

A Declarative Framework for Analysis and Optimization

  • Henry Falconer
  • Paul H. J. Kelly
  • David M. Ingram
  • Michael R. Mellor
  • Tony Field
  • Olav Beckmann
Conference paper

DOI: 10.1007/978-3-540-71229-9_15

Volume 4420 of the book series Lecture Notes in Computer Science (LNCS)
Cite this paper as:
Falconer H., Kelly P.H.J., Ingram D.M., Mellor M.R., Field T., Beckmann O. (2007) A Declarative Framework for Analysis and Optimization. In: Krishnamurthi S., Odersky M. (eds) Compiler Construction. CC 2007. Lecture Notes in Computer Science, vol 4420. Springer, Berlin, Heidelberg

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.

Download to read the full conference paper text

Copyright information

© Springer Berlin Heidelberg 2007

Authors and Affiliations

  • Henry Falconer
    • 1
  • Paul H. J. Kelly
    • 1
  • David M. Ingram
    • 1
  • Michael R. Mellor
    • 1
  • Tony Field
    • 1
  • Olav Beckmann
    • 1
  1. 1.Department of Computing, Imperial College London, 180 Queen’s Gate, London SW7 2BZU.K.