# Lifting Datalog-Based Analyses to Software Product Lines

**Authors:** Ramy Shahin, Marsha Chechik, Rick Salay

arXiv: 1907.02192 · 2019-09-02

## TL;DR

This paper presents a method to efficiently perform Datalog-based program analyses on software product lines by lifting inference, resulting in significant performance improvements over analyzing each product separately.

## Contribution

It introduces a theoretical framework and an implementation for lifting Datalog analyses to entire software product lines, enabling scalable analysis.

## Key findings

- Significant speedups in analysis time (billions of times faster)
- Reduced fact database size in analysis
- Effective analysis of large benchmark product lines

## Abstract

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\'e 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.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1907.02192/full.md

## Figures

23 figures with captions in the complete paper: https://tomesphere.com/paper/1907.02192/full.md

## References

29 references — full list in the complete paper: https://tomesphere.com/paper/1907.02192/full.md

---
Source: https://tomesphere.com/paper/1907.02192