Ideally the variability of a product line is represented completely and correctly by its variability model. However, in practice additional variability is often represented on the level of the build system or in the code. Such a situation may lead to inconsistencies, where the actually realized variability does not fully correspond to the one described by the variability model. In this paper we focus on configuration mismatches, i.e., cases where the effective variability differs from the variability as it is represented by the variability model. While previous research has already shown that these situations still exist even today in well-analyzed product lines like Linux, so far it was unclear under what circumstances such issues occur in reality. In particular, it is open what types of configuration mismatches occur and how severe they are. Here, our contribution is to close this gap by presenting a detailed manual analysis of 80 configuration mismatches in the Linux 4.4.1 kernel and assess their criticality. We identify various categories of configuration issues and show that about two-thirds of the configuration mismatches may actually lead to kernel misconfigurations.
翻译:最理想的产品线的变异性通过其变异性模型来完全和正确地反映其产品线的变异性。然而,在实际中,额外的变异性往往体现在建筑系统或代码中。这种情况可能导致不一致,因为实际实现的变异性并不完全符合变异模式描述的变异性。在本文中,我们侧重于配置不匹配,即有效变异性与变异性模型所代表的变异性不同。虽然以前的研究已经表明,即使在今天,在像Linux这样的分析良好的产品线上,这些变异性仍然存在,但目前还不清楚这些问题在什么情况下会发生。特别是,这种变异性在什么情况下会发生以及它们有多严重。在这里,我们的贡献是通过对Linux 4.4.1内核的80个配置不匹配进行详细的手工分析并评估其关键性来缩小这一差距。我们找出了各种配置问题类别,并表明,大约三分之二的配置不匹配可能实际上导致内核错配。