FeatureCoPP: Unfolding Preprocessor Variability

Kai Ludwig, Jacob Krüger, Thomas Leich

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

1 Citation (Scopus)

Abstract

Annotation-based and composition-based variability mechanisms have complementary strengths regarding software maintenance and evolution. Consequently, several proposals have been made to combine, integrate, and substitute both mechanisms. An open challenge is to provide a unified, automatic, and practical technique to adopt such proposals. In this paper, we present a technique to convert variable feature code that is enclosed in the C preprocessor’s conditional compilation into compositional feature modules and vice versa. We facilitate the usability of our technique by keeping the annotation-based representation of the C preprocessor. Besides contributing a practicable implementation, we describe the core principles of our technique and demonstrate its functionality based on previous empirical studies and by analyzing the Linux kernel. While our technique is fast in transforming projects, we also illustrate the challenges of maintaining fine-grained feature modules.
Original languageEnglish
Title of host publicationProceedings - VaMoS 2020
Subtitle of host publication14th International Working Conference on Variability Modelling of Software-Intensive Systems
EditorsMaxime Cordy, Mathieu Acher, Danilo Beuche, Gunter Saake
PublisherAssociation for Computing Machinery, Inc
Pages24:1-24:9
Number of pages9
ISBN (Electronic)9781450375016
DOIs
Publication statusPublished - 5 Feb 2020

Publication series

NameACM International Conference Proceeding Series

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

  • Software product lines
  • Preprocessor
  • Variability analysis
  • Empirical study
  • Software metrics

Fingerprint

Dive into the research topics of 'FeatureCoPP: Unfolding Preprocessor Variability'. Together they form a unique fingerprint.

Cite this