Aspect Interaction Detection Analysis

The AIDA tool, developed by Nathan Weston from Lancaster University, detects how aspects interact through changes they cause to the data flow of a system. For example, one aspect may update a variable x while another aspect (that was probably introduced earlier) reads this variable. The earlier aspect which assumed that x was updated by the original program is now reading values that were updated by the new aspect. This interaction may lead to unexpected (and often undesired) modifications to the behavior of the program. The AIDA tool can analyze the code before it runs and locate such interactions.

User Guide

Creating an AIDA project

  1. Go to the menu bar and select File → New → Project.
  2. Under the CAPE category choose "AIDA". Press "Next".
  3. In the AIDA wizard dialog, enter a project name. Press "Finish".
  4. Add files to the Input folder in the new AIDA project: Select the Input folder and from its context menu select "Create Linked Resources".
  5. From the linked resources dialog, select all the files that should be included in the AIDA project (only .java and .aj files).
  6. If the Eclipse Project mode is set to Build Automatically then after you add the files to the Input folder, AIDA will automatically perform the analysis. Otherwise you will have to invoke the Build command manually. In any case you will see the progress of the analysis in the AIDA console and the created dot file will be in the Output Folder. You can use Graphviz to visualize the dot graph.
  7. Happy analysis!