Scalable analysis of variable software

Scalable analysis of variable software
复制标题

DOI:
10.1145/2491411.2491437
复制
发表时间:
2013-08
期刊:
--
影响因子:
--
通讯作者:
Jörg Liebig;Alexander von Rhein;Christian Kästner;S. Apel;Jens Dörre;C. Lengauer
Jörg Liebig;Alexander von Rhein;Christian Kästner;S. Apel;Jens Dörre;C. Lengauer
中科院分区:
其他
文献类型:
--
作者:
Jörg Liebig;Alexander von Rhein;Christian Kästner;S. Apel;Jens Dörre;C. Lengauer

文献摘要

被引文献

相似文献

可变性管理和生成器技术的出现使用户能够根据所需配置选项的选择从可变代码库中导出各个变量。这种方法产生了可能数十亿的变体,然而,这些变体不能用经典分析技术有效地分析错误。为了解决这个问题,研究人员和从业人员通常采用抽样检验。虽然采样大大减少了分析工作,但获得的信息必然是不完整的,并且不知道采样算法是否可以扩展到数十亿个变体。最近,研究人员已经开始开发可变性感知分析,分析变量代码库直接利用个体变量之间的相似性,以减少分析工作。然而,虽然有希望,到目前为止,可变性感知分析主要只应用于小型学术系统。为了了解软件系统的可变性感知和基于采样的分析的相互优势和弱点,我们通过两个具体的分析实现(类型检查和活性分析),将它们应用到三个主题系统:Busybox,x86 Linux内核,和OpenSSL的两种策略进行了比较。我们的主要发现是,可变性感知分析优于大多数抽样分析,分析时间,同时保持完整性。
The advent of variability management and generator technology enables users to derive individual variants from a variable code base based on a selection of desired configuration options. This approach gives rise to the generation of possibly billions of variants that, however, cannot be efficiently analyzed for errors with classic analysis techniques. To address this issue, researchers and practitioners usually apply sampling heuristics. While sampling reduces the analysis effort significantly, the information obtained is necessarily incomplete and it is unknown whether sampling heuristics scale to billions of variants. Recently, researchers have begun to develop variability-aware analyses that analyze the variable code base directly exploiting the similarities among individual variants to reduce analysis effort. However, while being promising, so far, variability-aware analyses have been applied mostly only to small academic systems. To learn about the mutual strengths and weaknesses of variability-aware and sampling-based analyses of software systems, we compared the two strategies by means of two concrete analysis implementations (type checking and liveness analysis), applied them to three subject systems: Busybox, the x86 Linux kernel, and OpenSSL. Our key finding is that variability-aware analysis outperforms most sampling heuristics with respect to analysis time while preserving completeness.