Fundamental Approaches to Software Engineering
DOI: 10.1007/978-3-540-71289-3_32
|View full text |Cite
|
Sign up to set email alerts
|

Measuring and Characterizing Crosscutting in Aspect-Based Programs: Basic Metrics and Case Studies

Abstract: Abstract. Aspects are defined as well-modularized crosscutting concerns. Despite being a core tenet of Aspect Oriented Programming, little research has been done in characterizing and measuring crosscutting concerns. Some of the issues that have not been fully explored are: What kinds of crosscutting concerns exist? What language constructs do they use? And what is the impact of crosscutting in actual Aspect Oriented programs? In this paper we present basic code metrics that categorize crosscutting according t… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

2
21
0

Publication Types

Select...
3
3
2

Relationship

2
6

Authors

Journals

citations
Cited by 27 publications
(23 citation statements)
references
References 24 publications
2
21
0
Order By: Relevance
“…This is in line with prior results in programming languages [20,24,25,22,26,27,28], generative programming [34,12,35,36,37,38,39], and software design [16,40,41]. It is also in line with the experience of others who have distinguished aspects and collaborations [18,19,58,11,74,13,12], and is consistent with our own internal case studies on AspectJ [10,11,12,13]. Furthermore, for a number of programs, prior work confirmed that aspects implemented collaborations.…”
Section: Discussionsupporting
confidence: 89%
See 1 more Smart Citation
“…This is in line with prior results in programming languages [20,24,25,22,26,27,28], generative programming [34,12,35,36,37,38,39], and software design [16,40,41]. It is also in line with the experience of others who have distinguished aspects and collaborations [18,19,58,11,74,13,12], and is consistent with our own internal case studies on AspectJ [10,11,12,13]. Furthermore, for a number of programs, prior work confirmed that aspects implemented collaborations.…”
Section: Discussionsupporting
confidence: 89%
“…Lopez-Herrejon et al propose a set of code metrics for analyzing the crosscutting structure of aspect-based product lines [74]. They do not consider elementary crosscuts but analyze crosscutting properties of entire subsystems (features), which may have a substantial size.…”
Section: Aop Metricsmentioning
confidence: 99%
“…They divide the aspect usage in basic (inter-type declarations) and advanced (advices) and conclude that in general aspects are very few (14% of the code), and only a small portion corresponds to advanced usage. LopezHerrejon et al [18], define a set of metric for aspectoriented programming that categorize crosscutting according to the number of classes crosscut and their language constructs. The authors observed these metrics on four aspect-oriented programs concluding that the number of classes crosscut by advices is very small and their crosscut reduced.…”
Section: Related Workmentioning
confidence: 99%
“…In prior work we noticed the close relationship to crosscutting concerns [3,4,23]. We defined collaborations as one of two fundamental categories of crosscutting concernsthe other category consists of advanced aspects, which use mechanism for pattern-matching and control flow quantification.…”
Section: Collaborationsmentioning
confidence: 99%
“…In prior work we [2,4,23] and others [11,26] helped to alleviate this situation by categorizing crosscutting concerns. We identified two main classes of crosscutting concerns: while collaborations are sets of changes applied to multiple classes that introduce new classes, new members to classes, and that extend existing methods, advanced aspects apply either homogeneous changes (applying the same changes to multiple points in a program) or dynamic changes (applying changes depending on the runtime control flow or the value of runtime variables).…”
Section: Introductionmentioning
confidence: 99%