School of Computer Science
Visualization Support for Static Crosscutting in AspectJ
|[April 18th, 2009]||version 2.1.5 of ITDVisualiser released!|
|Figure 1: Instructions on how to run ITDVisualiser.
||Figure 2: The Shadowing Impact view.
The "Shadowing Impact" view identifies fields in the base code impacted by either inter-type field
declarations or the declare parents constructs. For instance, in the figure above, the field Square.myColor was affected by the construct declare parents: Square extends Rectangle. The
field Square.myColor referred to Shape.myColor before the declare parents construct, but now refers to Rectangle.myColor.
|To run ITDVisualiser, right-click on an AspectJ project to reveal the context menu, then
navigate to the "AspectJ ITDVisualiser" and select either "Lookup Impact" or
"Shadowing Impact" to run the corresponding analysis.
Figure 3: The Lookup Impact View
The "Lookup Impact" view identifies call sites in the base code impacted by either the inter-type method
declarations or the declare parents constructs. For instance, in the figure above, the target of the call site Square.move(int,int) located within the class Main has been modified by the construct declare parents: Square extends Rectangle. The target of the call site Square.move(int,int) was originally Shape.move(int,int) before the introduction of the declare parents construct, but the target is now Rectangle.move(int,int).
To install ITDVisualiser:
The features of the ITDVisualiser plug-in and the underlying algorithms and heuristics are described in
detail in our ICPC 2009 paper.
Dehua Zhang, Ekwa Duala-Ekoko and Laurie Hendren. Impact Analysis and Visualization Toolkit for Static Crosscutting in AspectJ.
In Proceedings of the 17th IEEE International Conference on Program Comprehension, May 2009 (pdf)