  Feature toggles and configuration options are modern programmatic techniques
to easily include or exclude functionality in a software product. The research
contributions to these two techniques have most often been focused on either
one of them separately. However, focusing on the similarities of these two
techniques may enable a more fruitful combined family of research on software
configuration, a term we use to encompass both techniques. Also, a common
terminology may have enabled meta-analysis, a more practical application of the
research on the two techniques, and prevented duplication of research effort.
The goal of this research study is to aid researchers in conducting a family of
research on software configuration by extending an existing model of software
configuration that provides terminology for research studies. To achieve our
goal, we started with Seigmund et al. Model of Software Configuration (MSC)
which was developed based on interviews and publications on configuration
options. We explicitly extend the MSC to include feature toggles and to add
qualitative analysis of feature toggle-related resources. From our analysis, we
proposed MSCv2 as an extended version of MSC and evaluated it through its
application on five academic publications and the Chrome system. Our results
indicate that multiple researchers studying the same system may provide
different definitions of software configuration in their publications. Also,
similar research questions may be answered on feature toggles and configuration
options repeatedly because of a lack of a clear definition of software
configuration. These observations indicate that having a model for defining
software configuration may enable more clear and generalized research on the
software configuration family of research. Practitioners benefit MSCv2 in their
systems to better knowledge transfer to other practitioners and researchers.
