Physical Separation of Features: A Survey with CPP Developers

Jacob Krüger, Kai Ludwig, Bernhard Zimmermann, Thomas Leich

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

8 Citations (Scopus)

Abstract

Several implementation techniques for software product lines have emerged over time. A common distinction of these techniques is whether features are annotated in the code base (virtually separated) or composed from modules (physically separated). While each approach promises different pros and cons, mainly annotations and especially the C PreProcessor ( CPP) are established in practice. Thus, the question arises, which barriers prevent the adoption of composition-based approaches. In this paper, we report an empirical study among C and C++ developers in which we investigate this issue. Therefore, we ask our participants to describe how they use the CPP and how they assess the idea of moving annotated code into modules. More precisely, we use small examples based on our Feature Compositional PreProcessor (FeatureCoPP ) that enables this separation while keeping annotations—avoiding divergences from the preprocessor concept. Overall, we identify different characteristics that indicate when physical separation can be useful. While most responses are skeptical towards the approach, they also emphasize its usability for source code analysis and for implementing specific use cases.
Original languageEnglish
Title of host publicationSymposium on Applied Computing (SAC)
PublisherAssociation for Computing Machinery, Inc
Pages2042-2049
Number of pages8
DOIs
Publication statusPublished - 2018

Bibliographical note

DBLP License: DBLP's bibliographic metadata records provided through http://dblp.org/ are distributed under a Creative Commons CC0 1.0 Universal Public Domain Dedication. Although the bibliographic metadata records are provided consistent with CC0 1.0 Dedication, the content described by the metadata records is not. Content may be subject to copyright, rights of privacy, rights of publicity and other restrictions.

Keywords

  • Separation of Concerns
  • Product Line
  • Empirical Study

Fingerprint

Dive into the research topics of 'Physical Separation of Features: A Survey with CPP Developers'. Together they form a unique fingerprint.

Cite this