Understanding Conditional Compilation Through Integrated Representation of Variability and Source Code
David Baum, Christina Sixtus, Lisa Vogelsberg, Ulrich Eisenecker

TL;DR
This paper introduces an analytics tool that links feature models with source code to improve understanding of variability implemented through C preprocessor directives, aiding developers in tracing feature effects.
Contribution
It presents an innovative tool that visually integrates feature models with source code, enhancing comprehension of conditional compilation in software product lines.
Findings
Facilitates interactive exploration of source code variability.
Simplifies tracing feature enablement or disablement effects.
Bridges the gap between abstract feature models and concrete code implementation.
Abstract
The C preprocessor (CPP) is a standard tool for introducing variability into source programs and is often applied either implicitly or explicitly for implementing a Software Product Line (SPL). Despite its practical relevance, CPP has many drawbacks. Because of that it is very difficult to understand the variability implemented using CPP. To facilitate this task we provide an innovative analytics tool which bridges the gap between feature models as more abstract representations of variability and its concrete implementation with the means of CPP. It allows to interactively explore the entities of a source program with respect to the variability realized by conditional compilation. Thus, it simplifies tracing and understanding the effect of enabling or disabling feature flags.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Software Engineering Methodologies · Software Engineering Research · Model-Driven Software Engineering Techniques
