• DocumentCode
    655056
  • 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
  • fYear
    2013
  • fDate
    Sept. 29 2013-Oct. 4 2013
  • Firstpage
    11
  • Lastpage
    19
  • 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;
  • 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.12
  • Filename
    6685786