paper.pdf (3.14 MB)
Download fileSoftware Product Line Analysis Using Variability-aware Datalog
preprint
posted on 2021-07-07, 08:05 authored by Ramy ShahinRamy Shahin, Murad Akhundov, marsha chechikApplying program analyses to Software Product Lines (SPLs) has been a fundamental research problem at the intersection
of Product Line Engineering and software analysis. Different attempts have been made to "lift" particular product-level analyses to run on the entire product line. In this paper, we tackle the class of Datalog-based analyses (e.g., pointer and taint analyses), study the theoretical aspects of lifting Datalog inference, and implement a lifted inference algorithm inside the Souffl Datalog engine. We evaluate our implementation on a set of Java and C-language benchmark product lines. We show significant savings in processing time and fact database size (billions of times faster on one of the benchmarks) compared to brute-force analysis of each product individually.
of Product Line Engineering and software analysis. Different attempts have been made to "lift" particular product-level analyses to run on the entire product line. In this paper, we tackle the class of Datalog-based analyses (e.g., pointer and taint analyses), study the theoretical aspects of lifting Datalog inference, and implement a lifted inference algorithm inside the Souffl Datalog engine. We evaluate our implementation on a set of Java and C-language benchmark product lines. We show significant savings in processing time and fact database size (billions of times faster on one of the benchmarks) compared to brute-force analysis of each product individually.
History
Email Address of Submitting Author
rshahin@cs.toronto.eduSubmitting Author's Institution
University of TorontoSubmitting Author's Country
- Canada