• Publications
  • Influence
Adding trace matching with free variables to AspectJ
TLDR
In this paper, we present a new history-based language feature called tracematches that enables the programmer to trigger the execution of extra code by specifying a regular pattern of events in a computation trace. Expand
  • 473
  • 56
  • PDF
Precise Analysis of String Expressions
We perform static analysis of Java programs to answer a simple question: which values may occur as results of string expressions? The answers are summarized for each expression by a regular languageExpand
  • 451
  • 50
  • PDF
abc: an extensible AspectJ compiler
TLDR
The AspectBench Compiler (abc) is an implementation of such a workbench. Expand
  • 225
  • 12
  • PDF
abc : An Extensible AspectJ Compiler
  • 109
  • 11
Optimising aspectJ
TLDR
We present new techniques to minimise or eliminate the overhead of cflow using both intra- and inter-procedural analyses. Expand
  • 117
  • 7
  • PDF
Extending Java for High-Level Web Service Construction
TLDR
We incorporate innovations from the project into the Java language to provide high-level features for Web service programming. Expand
  • 41
  • 7
Static Analysis for Dynamic XML
TLDR
We describe the summary graph lattice for dataflow analysis of programs that dynamically construct XML documents and indicate their applicability for various scenarios. Expand
  • 31
  • 3
  • PDF
Extending Java for high-level Web service construction
TLDR
We incorporate innovations from the <bigwig> project into the Java language to provide high-level features for Web service programming. Expand
  • 98
  • 2
  • PDF
abc: the aspectbench compiler for aspectJ
TLDR
abc is an extensible, optimising compiler for AspectJ, a workbench for experimental research in aspect-oriented programming languages and compilers. Expand
  • 17
  • 1
  • PDF
A Runtime System for XML Transformations in Java
TLDR
We show that it is possible to extend a general-purpose programming language with a convenient high-level data-type for manipulating XML documents while permitting (1) precise static analysis for guaranteeing validity of the constructed XML documents relative to the given DTD schemas, and (2) a run-time system where the operations can be performed efficiently. Expand
  • 23
  • 1
  • PDF