论文标题
软件配置的扩展模型
An Extended Model of Software Configuration
论文作者
论文摘要
功能切换和配置选项是现代的程序化技术,可以轻松包含或排除软件产品中的功能。对这两种技术的研究贡献通常集中在其中的任何一种方面。但是,关注这两种技术的相似性可能会使软件配置的研究更加富有成果,这是我们用来涵盖这两种技术的术语。同样,一个共同的术语可能已经实现了荟萃分析,这是对两种技术的研究的更实际应用,并阻止了研究工作的重复。这项研究的目的是通过扩展现有的软件配置模型来帮助研究人员进行软件配置的研究,该模型为研究提供了术语。为了实现我们的目标,我们从Seigmund等人开始。根据配置选项的访谈和出版物开发了软件配置模型(MSC)。我们明确扩展了MSC以包括功能切换,并添加与特征切换相关资源的定性分析。从我们的分析中,我们提出了MSCV2作为MSC的扩展版本,并通过其在五个学术出版物和Chrome系统上的应用程序进行了评估。我们的结果表明,研究同一系统的多个研究人员可能会在其出版物中提供不同的软件配置定义。此外,由于缺乏对软件配置的明确定义,可以反复对功能切换和配置选项回答类似的研究问题。这些观察结果表明,拥有用于定义软件配置的模型可以使有关软件配置研究家族的更清晰,更广泛的研究。从业者在其系统中受益于MSCV2,以更好地将知识转移给其他从业者和研究人员。
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.