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.
翻译:软件的特性和配置选项是现代方案技术,可以很容易地包括或排除软件产品中的功能。对这两种技术的研究贡献通常都分别侧重于其中之一。然而,侧重于这两种技术的相似性,也许能够使软件配置研究的组合更有成效,我们使用的术语包括这两种技术。此外,共同术语可能促成元分析,更实际地应用两种技术的研究,并防止研究工作的重复。本研究的目的是通过扩大现有的软件配置模式,为研究研究提供术语,协助研究人员进行软件配置方面的系列研究。为了实现我们的目标,我们从Seigmund 等人开始,根据访谈和出版物的配置开发软件配置模型(MSC),我们用这两个术语来涵盖这两种技术。我们明确扩展了MSC,以纳入特性和特征分析,更实际地应用两种技术,防止研究工作的重复。我们通过在五种学术出版物和Chrome系统的应用,建议MSCv2模型作为软件配置的扩展版,并评估其软件配置。我们的成果表明,为了实现我们的目标,多位研究人员首先研究SICSF2的配置模式,可能更清楚地界定其软件配置,因为其软件的系统缺乏清晰的功能定义,因此,这些软件定义的软件定义可以反复解释。