首页> 外文会议>Working Conference on Mining Software Repositories >Linux variability anomalies: What causes them and how do they get fixed?
【24h】

Linux variability anomalies: What causes them and how do they get fixed?

机译:Linux可变性异常:是什么原因引起的,以及如何解决这些异常?

获取原文

摘要

The Linux kernel is one of the largest configurable open source software systems implementing static variability. In Linux, variability is scattered over three different artifacts: source code files, Kconfig files, and Makefiles. Previous work detected inconsistencies between these artifacts that led to anomalies in the intended variability of Linux. We call these variability anomalies. However, there has been no work done to analyze how these variability anomalies are introduced in the first place, and how they get fixed. In this work, we provide an analysis of the causes and fixes of variability anomalies in Linux. We first perform an exploratory case study that uses an existing set of patches which solve variability anomalies to identify patterns for their causes. The observations we make from this dataset allow us to develop four research questions which we then answer in a confirmatory case study on the scope of the whole Linux kernel. We show that variability anomalies exist for several releases in the kernel before they get fixed, and that contrary to our initial suspicion, typos in feature names do not commonly cause these anomalies. Our results show that variability anomalies are often introduced through incomplete patches that change Kconfig definitions without properly propagating these changes to the rest of the system. Anomalies are then commonly fixed through changes to the code rather than to Kconfig files.
机译:Linux内核是实现静态可变性的最大的可配置开源软件系统之一。在Linux中,可变性分散在三个不同的工件上:源代码文件,Kconfig文件和Makefile。先前的工作发现了这些工件之间的不一致,从而导致了Linux预期的可变性异常。我们称这些可变性异常。但是,尚未进行任何工作来分析这些可变性异常是如何引入的,以及如何解决这些异常。在这项工作中,我们提供了Linux中可变性异常的原因和修复方法的分析。我们首先执行一个探索性案例研究,该研究使用一组现有的补丁程序来解决变异异常,以确定其原因模式。我们从该数据集中获得的观察结果使我们能够提出四个研究问题,然后在关于整个Linux内核范围的验证性案例研究中回答这些问题。我们显示出内核中的多个版本在得到修复之前就存在变异异常,并且与我们最初的怀疑相反,特征名称中的错别字通常不会导致这些异常。我们的结果表明,变异性异常通常是通过不完整的补丁引入的,这些补丁会更改Kconfig定义,而没有将这些更改正确传播到系统的其余部分。然后通常通过更改代码而不是更改Kconfig文件来修复异常。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号