Open Access

On the benefits of quantification in AspectJ systems

  • Marco Tulio Valente1Email author,
  • Cesar Couto1,
  • Jaqueline Faria2 and
  • Sérgio Soares3
Journal of the Brazilian Computer Society201016:8

https://doi.org/10.1007/s13173-010-0008-0

Received: 13 November 2009

Accepted: 13 April 2010

Published: 7 May 2010

Abstract

In this paper, we argue that the most favorable uses of aspects happen when their code relies extensively on quantified statements, i.e., statements that may affect many parts of a system. When this happens, aspects better contribute to separation of concerns, since the otherwise duplicated and tangled code related to the implementation of a crosscutting concern is confined in a single block of code. We provide in the paper both qualitative and quantitative arguments in favor of quantification. We also propose two new metrics to capture in a simple way the amount of quantification employed in the aspects of a given system. Finally, we describe an Eclipse plugin, called ConcernMetrics that estimates the proposed metrics directly from the object-oriented code of an existing system, i.e., before crosscutting concerns are extracted to aspects. Our main motivation is to help developers and maintainers to decide in a cost-effective way if it is worthwhile to use aspects in their systems.

Keywords

Aspect-oriented programming AspectJ Quantification Separation of Concerns Metrics Refactoring