The Effect of Automatic Concern Mapping Strategies on Conceptual Cohesion Measurement


Bruno Carreiro da Silva, Cl�udio Sant'Anna, Neylor Rocha, Christina Chavez

Context: Cohesion has been recognized as an important quality attribute of software design across decades. It can be defined as the degree to which a module is focused on a single concern of software. A concern is any concept, feature, requirement or property of the problem or solution domain. Conceptual cohesion is an alternative way of cohesion measurement based on what concerns each module addresses. Therefore, adopting a strategy to map concerns to source code elements is challenging but necessary.

Objective: We aim at providing empirical evidence about whether automatic concern mapping strategies are already ready to be used effectively for conceptual cohesion measurement.

Method: We carried out an empirical study to assess the ability of conceptual cohesion measurement using different automatic concern mapping strategies in selecting the least cohesive modules.

Results: Conceptual cohesion measurements over the two analyzed mapping strategies performed weakly in the ability of selecting the least cohesive modules. We then provide a discussion to explain the reasons.

Conclusion: Concern mapping strategies should be carefully chosen for conceptual cohesion measurement, specially if automatic mapping is under consideration. Manual mapping is still the most reliable way for computing conceptual cohesion. We pointed out limitations in automatic mapping strategies that go beyond conceptual cohesion measurement purposes and which should be considered in future research or applications in industry.

Target Systems:


Measurements:

Concern Mapping Tools:

Concern mappings generated by XScan*:

* T. T. Nguyen, H. V. Nguyen, H. A. Nguyen, and T. N. Nguyen. "Aspect recommendation for evolving software," in Proc. of the 33rd International Conference on Software Engineering (ICSE '11). ACM, New York, NY, USA, 361-370, 2011.

Manual concern mappings:

  • Rhino - Previously provided by Eaddy et al. (2008).
  • jEdit - And jEdit set of concerns.
  • The ConcernTagger tool is necessary to open these concern mappings (see the tools section above).

Spreadsheets for the accuracy analysis:

You can find further information by contacting us:

Bruno Carreiro da Silva bcdasilv (at) calpoly (dot) edu
Cl�udio Sant'Anna santanna (at) dcc (dot) ufba (dot) br