DocumentCode
655061
Title
AspectJ-Based Idioms for Flexible Feature Binding
Author
Andrade, Rafael ; Rebelo, Henrique ; Ribeiro, Manoel ; Borba, Paulo
fYear
2013
fDate
Sept. 29 2013-Oct. 4 2013
Firstpage
59
Lastpage
68
Abstract
In Software Product Lines (SPL), we can bind reusable features to compose a product at different times, which in general are static or dynamic. The former allows customizability without any overhead at runtime. On the other hand, the latter allows feature activation or deactivation while running the application with the cost of performance and memory consumption. To implement features, we might use aspect-oriented programming (AOP), in which aspects enable a clear separation between base code and variable code. In this context, recent work provides AspectJ-based idioms to implement flexible feature binding. However, we identified some design deficiencies. Thus, to solve the issues of these idioms, we incrementally create three new AspectJ-based idioms. Moreover, to evaluate our new idioms, we quantitatively analyze them with respect to code cloning, scattering, tangling, and size by means of software metrics. Besides that, we qualitatively discuss our new idioms in terms of code reusability, changeability, and instrumentation overhead.
Keywords
aspect-oriented programming; software development management; software metrics; software reusability; AOP; AspectJ-based Idioms; SPL; aspect-oriented programming; code changeability; code cloning; code reusability; customizability; design deficiencies; feature activation; feature deactivation; flexible feature binding; instrumentation overhead; software metrics; software product lines; Abstracts; Concrete; Context; Feature extraction; Instruments; Scattering; Syntactics; Aspect-Oriented Programming; Flexible Feature Binding; Idioms; Software Product Lines;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Components, Architectures and Reuse (SBCARS), 2013 VII Brazilian Symposium on
Conference_Location
Brasilia
Type
conf
DOI
10.1109/SBCARS.2013.17
Filename
6685791
Link To Document