SELOPLJul 4, 2019

Lifting Datalog-Based Analyses to Software Product Lines

arXiv:1907.02192v219 citations
AI Analysis

This work addresses a fundamental problem in Product Line Engineering and software analysis, offering a novel solution for efficient analysis of product lines.

The paper tackled the problem of applying Datalog-based analyses to Software Product Lines by developing a lifted inference algorithm, resulting in significant performance improvements such as billions of times faster processing on benchmarks.

Applying 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 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.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes