Title :
Improving Modular Reasoning on Preprocessor-Based Systems
Author :
De Carvalho Melo, Jean Carlos ; Monteiro Borba, Paulo Henrique
Author_Institution :
Inf. Center, Fed. Univ. of Pernambuco, Recife, Brazil
fDate :
Sept. 29 2013-Oct. 4 2013
Abstract :
Preprocessors are often used to implement the variability of a Software Product Line (SPL). Despite their widespread use, they have several drawbacks like code pollution, no separation of concerns, and error-prone. Virtual Separationof Concerns (VSoC) has been used to address some of thesepreprocessor problems by allowing developers to hide featurecode not relevant to the current maintenance task. However, different features eventually share the same variables and methods, so VSoC does not modularize features, since developers do not know anything about hidden features. Thus, the maintenance of one feature might break another. Emergent Interfaces (EI) capture dependencies between a feature maintenance point and parts of other feature implementation, but they do not provide an overall feature interface considering all parts in an integrated way. Thus, we still have the feature modularization problem. To address that, we propose Emergent Feature Interfaces (EFI) that complement EI by treating feature as a module in order to improve modular reasoning on preprocessor-based systems. EFI capture dependencies among entire features, with the potential of improving productivity. Our proposal, implemented in an opensource tool called Emergo, is evaluated with preprocessor-based systems. The results of our study suggest the feasibility and usefulness of the proposed approach.
Keywords :
inference mechanisms; public domain software; software maintenance; EFI; EI; Emergo; SPL; VSoC; code pollution; emergent feature interfaces; emergent interfaces; feature code; maintenance task; modular reasoning; open source tool; preprocessor-based systems; software product line variability; virtual separation of concerns; Contracts; Feature extraction; Graphical user interfaces; Java; Maintenance engineering; Optimized production technology; Software; Emergent Feature Interfaces; Modular Reasoning; Preprocessors; Software Product Line;
Conference_Titel :
Software Components, Architectures and Reuse (SBCARS), 2013 VII Brazilian Symposium on
Conference_Location :
Brasilia
DOI :
10.1109/SBCARS.2013.12