Grouped calls analysis

Grouped calls analysis looks for groups of methods that are called by the same callers; that is, group of callees that share their callers. Such methods are likely to implement the same (crosscutting) concern or related concerns. The analysis follows similar assumptions as Fan-in Analysis and looks for those groups of methods that share a large number of scattered callers. These groups are reported as candidate-seeds.

Running the analysis

The Grouped calls analysis requires the model built by Fan-in Analysis, so the latter analysis should be executed first. To further run the Grouped calls analysis, the user has to open the Cloned calls view and select the button to Referesh the model: From Eclipse's menu select Window -> Show View -> Other... -> FINT and open the Cloned calls View. Select the Refresh button from the view's toolbar.

The view displays the grouped methods of the analyzed element (in this case, a Java project) as a tree hierarchy - each group is the parent of its callers.

The number of common callers of the methods in the group is displayed next to the group of methods.

The view presents the user with a number of options:

The code of the callers can be inspected by double-click on the specific caller.

Further on, it is possible to:

 

The analysis settings include the accessor and library filters as well as:

Callees filters

and Callers filters

To select "utility" elements, the user is presented with the Java element hierarchy of the analyzed element. The user can check the "utility" elements in the dialog window of the Grouped calls Analysis Setup. Such utility elements could include (JUnit) test packages, as in the shown example.

See also: Fan-in Analysis