A variety of language features to modularize cross-cutting concerns have recently been discussed, e.g., open modules, annotation-based pointcuts, explicit join points, and quantified-typed events. All of these ideas are essentially a form of aspect-oriented interface between object-oriented and cross-cutting modules, but the representation of this interface differs. Previous works have studied maintenance benefits of AO programs compared to OO programs, by usually looking at a single AO interface. Other works have looked at several AO interfaces, but only on relatively small systems or systems with only one type of aspectual behavior. Thus, there is a need for a study that examines large, realistic systems for several AO interfaces to determine what problems arise and in which interface(s). The main contribution of this work is a rigorous empirical study that evaluates the effectiveness of these proposals for 4 different AO interfaces by applying them to 35 different releases of a software product line called Mobile-Media and 50 different releases of a Web application called Health Watcher. In total, over 400k lines of code were studied across all releases. Our comparative analysis using quantitative metrics proposed by Chidamber and Kemerer shows the strengths and weaknesses of these AO interface proposals. Our change impact analysis shows the design stability provided by each of these recent proposals for AO interfaces.
Language Features for Software Evolution and Aspect-Oriented Interfaces: An Exploratory Study
Creators
Robert Dyer - Iowa State University
Hridesh Rajan - Iowa State University
Yuanfang Cai - Drexel University
Contributors
G T Leavens (Editor)
S Chiba (Editor)
E Tanter (Editor)
Publication Details
TRANSACTIONS ON ASPECT-ORIENTED SOFTWARE DEVELOPMENT X, v 7800
Series
Lecture Notes in Computer Science
Publisher
Springer Nature
Number of pages
36
Grant note
1017334 / Direct For Computer & Info Scie & Enginr; National Science Foundation (NSF); NSF - Directorate for Computer & Information Science & Engineering (CISE)
Resource Type
Conference proceeding
Language
English
Academic Unit
Computer Science
Web of Science ID
WOS:000359998600005
Scopus ID
2-s2.0-84875108456
Other Identifier
991019173888004721
InCites Highlights
Data related to this publication, from InCites Benchmarking & Analytics tool: