Authors
| Name | Affiliation | |
|---|---|---|
| Raffi Khatchadourian | Ohio State University | khatchad@cse.ohio-state.edu |
| Phil Greenwood | Lancaster University | greenwop@comp.lancs.ac.uk |
| Awais Rashid | Lancaster University | awais@comp.lancs.ac.uk |
| Guoqing Xu | Ohio State University | xug@cse.ohio-state.edu |
Showing 4 items from page Authors sorted by Number.
View more »
Abstract
Pointcut fragility is a well-documented problem in Aspect-Oriented Programming; changes to the base-code can lead to join points incorrectly falling in or out of the scope of pointcuts. In this paper, we present an automated approach which limits fragility problems by providing mechanical assistance in pointcut maintenance. The approach is based on harnessing arbitrarily deep structural commonalities between program elements corresponding to join points selected by a pointcut. The extracted patterns are then applied to later versions to offer suggestions of new join points that may require inclusion. To illustrate that the motivation behind our proposal is well-founded, we first empirically establish that join points captured by a single pointcut typically portray a significant amount of unique structural commonality by analyzing patterns extracted from 23 AspectJ programs. Then, we demonstrate the usefulness of our technique by rejuvenating pointcuts in multiple versions of 3 of these programs. The results show that our parameterized heuristic algorithm was able to automatically infer new join points in subsequent versions with an average recall of 0.93. Moreover, these join points appeared, on average, in the top 4th percentile of the suggestions, indicating that the results were precise.
Recent Links
| Link | Description |
|---|---|
| Pointcut Rejuvenation: Recovering Pointcut Expressions in Evolving Aspect-Oriented Software | Technical report. |
| Tool Implementation | Tool implementation. |
| Tool Demonstration | Tool demonstration slides from AOSD '09. |
| Rejuvenate Pointcut Research Poster | A research poster depicting a preliminary version of the work. |
Showing 4 items from page Links sorted by Number.
View more »
Recent Benchmarks
| Benchmark source | Versions | Description |
|---|---|---|
| Jakarta Cactus | 6 | A simple test framework for unit testing server-side java code. |
| Contract4J | 5 | A tool that supports Design by Contract (DbC) programming in Java 5. |
| AJHotDraw | 1 | An aspect-oriented refactoring of JHotDraw, a relatively large and well-designed open source Java framework for technical and structured 2D graphics. |
| Ants | 1 | An AspectJ implementation of a simulator for the problem given in the 2004 ICFP Programming Contest. |
| Bean | 1 | An example from the AspectJ documentation which shows how to turn a class into a JavaBean. |
Showing 5 items from page Benchmarks sorted by edit time.
View more »