Understanding Conditional Compilation Through Integrated Representation of Variability and Source Code

08/20/2019
by   David Baum, et al.
0

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.

READ FULL TEXT

page 3

page 4

research
10/19/2021

MetricHaven – More Than 23,000 Metrics for Measuring Quality Attributes of Software Product Lines

Variability-aware metrics are designed to measure qualitative aspects of...
research
10/01/2020

Automatic and Efficient Variability-Aware Lifting of Functional Programs

A software analysis is a computer program that takes some representation...
research
10/12/2021

Reverse Engineering Variability in an Industrial Product Line: Observations and Lessons Learned

Ideally, a variability model is a correct and complete representation of...
research
12/09/2019

Variability-aware Datalog

Variability-aware computing is the efficient application of programs to ...
research
10/12/2021

An Empirical Study of Configuration Mismatches in Linux

Ideally the variability of a product line is represented completely and ...
research
08/07/2023

Average Estimates in Line Graphs Are Biased Toward Areas of Higher Variability

We investigate variability overweighting, a previously undocumented bias...
research
02/11/2021

DirectDebug: Automated Testing and Debugging of Feature Models

Variability models (e.g., feature models) are a common way for the repre...

Please sign up or login with your details

Forgot password? Click here to reset