On Friday October 17, this site was moved to a new server, https://mw.hh.se. The original address will continue to work. Whithin a week or two this site will return to the original address. /Peo HH IT-dep

WG211/M2Demoor

From WG 2.11
Revision as of 12:06, 12 December 2011 by Admin (talk | contribs) (1 revision)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search


Title:

Adding tracecuts to AspectJ

Oege de Moor

Abstract: Conceptually, in AspectJ we transform computations rather than program texts: an aspect observes the execution of a base program, and when certain events occur, the aspect runs some extra code of its own. The events that trigger extra code are specified via patterns called `pointcuts'.

In AspectJ, pointcuts can inspect the current callstack, but not the history of a computation. A number of authors have suggested it would be useful to write patterns that range over traces rather than individual events: such patterns are called `tracecuts'.

In this talk, I'll present a number of example tracecuts, discuss how to integrate the feature into the existing AspectJ language, and sketch a semantics. The design has been implemented in abc, an extensible compiler for AspectJ.

(joint work with Chris Allan)