An empirical study of real-world variability bugs detected by variability-oblivious tools

An empirical study of real-world variability bugs detected by variability-oblivious tools
复制标题

DOI:
10.1145/3338906.3338967
复制
发表时间:
2019-08
期刊:
Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering
影响因子:
--
通讯作者:
Austin Mordahl;Jeho Oh;Ugur Koc;Shiyi Wei;Paul Gazzillo
Austin Mordahl;Jeho Oh;Ugur Koc;Shiyi Wei;Paul Gazzillo
中科院分区:
其他
文献类型:
--
作者:
Austin Mordahl;Jeho Oh;Ugur Koc;Shiyi Wei;Paul Gazzillo

文献摘要

相似文献

许多用C开发的关键软件系统都利用了编译时的可配置性。这个软件的许多可能的配置使得通过静态分析进行bug检测变得困难。虽然已经开发了可变性感知的静态分析,但这些静态分析与最先进的静态错误检测工具之间仍然存在差距。为了收集这些工具如何执行的数据,并开发现实世界的基准,我们提出了一种方法来利用配置采样,现成的“可变性不经意”的错误检测器,和自动特征识别技术来模拟可变性感知分析。我们使用四种流行的静态分析工具在三个高度可配置的真实C项目上实例化我们的方法,获得36,061个警告,其中80%是可变性警告。我们分析了我们从这些实验中收集的警告,发现大多数结果是各种各样的变化警告,如NULL引用。然后,我们手动调查这些警告,以产生一个基准的77个确认的真正的错误(其中52个是可变性错误)的可变性感知分析的未来发展有用。
Many critical software systems developed in C utilize compile-time configurability. The many possible configurations of this software make bug detection through static analysis difficult. While variability-aware static analyses have been developed, there remains a gap between those and state-of-the-art static bug detection tools. In order to collect data on how such tools may perform and to develop real-world benchmarks, we present a way to leverage configuration sampling, off-the-shelf “variability-oblivious” bug detectors, and automatic feature identification techniques to simulate a variability-aware analysis. We instantiate our approach using four popular static analysis tools on three highly configurable, real-world C projects, obtaining 36,061 warnings, 80% of which are variability warnings. We analyze the warnings we collect from these experiments, finding that most results are variability warnings of a variety of kinds such as NULL dereference. We then manually investigate these warnings to produce a benchmark of 77 confirmed true bugs (52 of which are variability bugs) useful for future development of variability-aware analyses.