This website provides supplementary material for the paper "Variability-Aware Static Analysis at Scale: An Empirical Study". In this paper we learn about the mutual strengths and weaknesses of variability-aware and sampling-based static analyses by comparing the two strategies by means of eight concrete control-flow and data-flow analyses, applied to five real-world subject systems: BusyBox, OpenSSL, SQLite, the x86 linux kernel, and uclibc. In particular, we compare the efficiency (analysis execution time) of the analyses and their effectiveness (potential bugs found).
The experiments in the paper were conducted with the TypeChef tool. The specific version we used for the experiments is available here. We provide the case studies on this page in the download section. If you are interested in the raw results of our experiments, they are also provided here.
In order to use the infrastructure and our case studies for yourself just follow these steps:
You can now follow the instructions on the project pages of our case studies to re-run our experiments.
$ git clone https://github.com/aJanker/TypeChef-VAA $ ./TypeChef-VAA/publish.sh $ git clone https://github.com/aJanker/TypeChef-Sampling $ ./TypeChef-Sampling/publish.sh
The paper "Variability-Aware Static Analysis at Scale: An Empirical Study" has been written by Alexander von Rhein, Jörg Liebig, Andreas Janker, Christian Kästner, and Sven Apel.