[abc-announce] abc version 1.1.1 released

From: Ganesh Sittampalam <ganesh@earth.li>
Date: Sun Mar 19 2006 - 16:43:06 GMT

The abc team is pleased to announce the release of version 1.1.1 of abc.
This release serves two main goals. Firstly, it incorporates several
months' worth of bug fixes. Secondly, it provides a preview for interested
users of a significant amount of optimisation work that we have put into
the tracematches extension.

The tracematches optimisation work is detailed in abc technical report
abc-2006-1, available from http://abc.comlab.ox.ac.uk/pubslist. It
introduces a dependency on the Apache Commons Collections library, both at
compile-time and run-time. We intend to remove this dependency before the
1.2.0 release of abc, planned for within the next month. This dependency
only affects users of the tracematches extension, not the base AspectJ

Details of the bugs fixed can be found at

As usual, the release can be downloaded from
http://aspectbench.org/download, and a full changelog can be found below.


Ganesh (on behalf of the abc team)


- Implemented various tracematch optimisations, as described in tech
   report abc-2006-1, available from our website
   (http://aspectbench.org). Some of them can be disabled via debug
   flags, which is how we took some of the numbers given in the tech
   report. Of interest is '-nodebug useIndexing', which disables the
   indexing data structures and algorithms, and '-debug
   onlyStrongRefs', which disables our leak analyses.

- Currently, if you use tracematches with indexing, there will be
   an extra compile-time and run-time dependency on the Apache
   Commons Collections library. This is because the indexing data
   structures make internal use of it. We plan to implement the
   data structures fully in abc and so avoid this dependency for
   our 1.2.0 release.

- Added two new pointcuts to the EAJ (Extended AspectJ) extension.
   The first, let(var, expr) binds the variable var to the result of
   the expression expr. The second takes the form 'contains(pc())'.
   It matches shadows which contain shadows matching pc().

- Changes to open module precedence. First, the order induced
   by friend and module inclusion is now consistent with
   declare precedence (i.e. first declared is executed first).
   Second, added a constraint that preserves the precedence
   coherence of friend aspects in a module (i.e. an external aspect
   may no longer be inserted between two internal aspects
   using declare precedence).

- Various bugfixes; see Bugzilla for details.


- You can now customise inlining behaviour by overriding the
   makeAdviceInliner method in abcExtension. An example can be
   found in the EAJ extension.
Received on Sun Mar 19 21:37:36 2006

This archive was generated by hypermail 2.1.8 : Fri Mar 31 2006 - 23:50:06 BST