Prof. Eric Bodden, Ph.D.

Professor for Software Engineering at Heinz Nixdorf Institute, Paderborn University and
Director for Software Engineering at Fraunhofer IEM
  • rss
  • Home
  • Research
    • Publications
  • Tools
  • Teaching
  • About me
  • Photos

Join Point Interfaces

Eric | July 5, 2011

Another paper to appear at the New Ideas track of ESEC/FSE:

While aspect-oriented programming supports the modular definition of crosscutting concerns, most approaches to aspect-oriented programming fail to improve, or even preserve, modular reasoning. The main problem is that aspects usually carry, through their pointcuts, explicit references to the base code. These dependencies make programs fragile. Changes in the base code can unwittingly break a pointcut definition, rendering the aspect ineffective or causing spurious matches. Conversely, a change in a pointcut definition may cause parts of the base code to be advised without notice. Therefore separate development of aspect-oriented programs is largely compromised, which in turns seriously hinders the adoption of aspect-oriented programming by practitioners.

We propose to separate base code and aspects using Join Point Interfaces, which are contracts between aspects and base code. Base code can define pointcuts that expose selected join points through a Join Point Interface. Conversely, an aspect can offer to advise join points that provide a given Join Point Interface. Crucially, however, aspect themselves cannot contain pointcuts, and hence cannot refer to base code elements. In addition, because a given join point can provide several Join Point Interfaces, and Join Point Interfaces can be organized in a subtype hierarchy, our approach supports join point polymorphism. We describe a novel advice dispatch mechanism that offers a flexible and type-safe approach to aspect reuse.

This is joint work with Milton Inostroza and Éric Tanter from the Pleiad group.

Download the paper here.

Related Posts

No related posts.

Categories
Research
Comments rss
Comments rss
Trackback
Trackback

« Stateful Breakpoints: A Practical Approach to Defining Parameterized Runtime Monitors Nightly builds of Clara, Soot, JastAdd, Jasmin… »

Welcome

Welcome to my website. Interested in my research? Click here for details or jump directly to my publications.

Memberships

   

Previous Posts

July 2011
M T W T F S S
« Jun   Sep »
 123
45678910
11121314151617
18192021222324
25262728293031

Tags

Alumni AOP AOSD AspectJ Atlanta Bike Blizzard Bug finding Caro Clara COMP 621 Eclipse FSE Google ISSTA Java LinkedIn Mac McGill Microsoft Montreal NASA Photos Programming Quebec City Race detection Racer Runtime Monitoring Runtime verification RV RWTH Seattle Slides Snow storm Soot Soot Tutorial Static Analysis Strike TamiFlex TA strike Thesis tracematches Typestate Vacation Winter carnival


rss Comments rss valid xhtml 1.1 design by jide powered by Wordpress get firefox