Creating a Concern Graph

Involves initializing the tool and opening a file in which to store the results of your program investigation.

The first step to analyze a code base with FEAT is to create a Concern Graph. A Concern Graph is for storing a collection of concerns relevant to a particular task. A concern is for storing all the classes/methods/fields of interests and the relations among themselves. There are two ways to create an empty concern graph:

Manually creating a new concern graph object from "new" button or menu.

  1. In the Package Explorer, right-click on the project that your new concern graph will be based on.
  2. Select New | Other | Concern Graphs | Concern Graph (note that you can customize your Java perspective to have Concern Graphs appear directly in the new menu. See the Eclipse Documentation). A dialog box will appear.
  3. Follow the wizard pages, fill in the Concern Graph Name and select necessary packages.
  4. Click finish to let FEAT analyze source code and creating an empty concern graph.
  5. After progress indicator disappears, click on perspective icon to switch to FEAT perspective to see the new concern graph created.

    Important: Creating a new concern graph will unload the currently loaded concern graph in FEAT, if there is one. Unsaved concern graph will be lost.

Automatically invoking a new concern creation wizard.

  1. In the Package Explorer, right click on a particular method/class/field that belong to the project you want to build a concern upon, and do a query action.
  2. A message will pop up, saying there is currently no concern graph in FEAT, and asking whether to create one now. Click yes.
  3. And now you can follow the wizard pages, fill in the Concern Graph Name and select necessary packages.
  4. Click finish to let FEAT analyze source code and creating an empty concern graph.
  5. After progress indicator disappears, click on perspective icon to switch to FEAT perspective to see the new concern graph created.

    Important: this method is valid only when there's no concern graph loaded in FEAT, otherwise no new concern creation wizard will be invoked and a regular query will take place instead.

After an empty concern is created, the next natural step of using FEAT to explore a changing task or feature would be querying the source code and building a Cocnern Graph.