Have You Ever Had These Questions When Writing AspectJ Pointcuts?
- “Does this pointcut really work?”
- “Why doesn’t that pointcut work?”
PointcutDoctor is the tool helping you find the answers.
See the PointcutDoctor presentation (7'37'') and a live demo (5'37'').
- Apr 27, 2008: Pointcut Doctor is now open source!.
You can click here
to see in your browser or follow sourceforge's instructions
to check out the source code.
Pointcuts in general and AspectJ
pointcuts in particular are hard to write. To write a correct pointcut,
a developer needs to understand the subtleties of the pointcut language
as well as how the pointcut matches against various program elements
across her entire code base.
Ascertaining that a pointcut is
correct in a given code base means understanding how this pointcut
matches join points across the code base. This requires a global
understanding of the code at a level of detail that is not easy to
obtain or remember for developers. Fortunately, developers can be
assisted by IDE-based tools that provide an
of the join points a pointcut matches in a given code base. AJDT
already provides some useful information in this regard. However, we
claim that AJDT has a kind of "blind spot": the information provided by
AJDT is insufficient for a developer to determine a pointcut's
PointcutDoctor provides two kinds of information:
- Almost matched join point (shadows), i.e. jp shadows that are not matched by the pointcut but very similar to the ones that are matched;
- Highlighting and in-place explanation, i.e. why a specific join point is (or isn't) matched by the given pointcut. (see the screenshots for details)
- Update site: http://pointcutdoctor.sf.net/updatesite
- Click here to download the binary zip file. Please email us if you need the source code of PointcutDoctor before we release it into the public CVS on sourceforge.net.
Systems capable of running Eclipse 3.3+ and AJDT 1.5.1 RC1+
- AOSD 2007 Demo slides: PointcutDoctor:Understanding and diagnosing AspectJ Pointcuts PowerPoint PDF
- AOSD 2007 Demo Proposal: PointcutDoctor:Understanding and diagnosing AspectJ Pointcuts PDF
Lingdong Ye email: lintonye AT gmail.com
Kris De Volder email: kdvolder AT cs.ubc.ca
We would like to thank Lingqiang Ye for his awesome artwork.