Variability-aware Datalog

12/09/2019
by   Ramy Shahin, et al.
0

Variability-aware computing is the efficient application of programs to different sets of inputs that exhibit some variability. One example is program analyses applied to Software Product Lines (SPLs). In this paper we present the design and development of a variability-aware version of the Soufflé Datalog engine. The engine can take facts annotated with Presence Conditions (PCs) as input, and compute the PCs of its inferred facts, eliminating facts that do not exist in any valid configuration. We evaluate our variability-aware Soufflé implementation on several fact sets annotated with PCs to measure the associated overhead in terms of processing time and database size.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/01/2020

Automatic and Efficient Variability-Aware Lifting of Functional Programs

A software analysis is a computer program that takes some representation...
research
10/19/2021

MetricHaven – More Than 23,000 Metrics for Measuring Quality Attributes of Software Product Lines

Variability-aware metrics are designed to measure qualitative aspects of...
research
07/04/2019

Lifting Datalog-based Analyses to Software Product Lines

Applying program analyses to Software Product Lines (SPLs) has been a fu...
research
10/12/2021

An Empirical Study of Configuration Mismatches in Linux

Ideally the variability of a product line is represented completely and ...
research
10/12/2021

Fast Static Analyses of Software Product Lines – An Example With More Than 42,000 Metrics

Context: Software metrics, as one form of static analyses, is a commonly...
research
08/20/2019

Understanding Conditional Compilation Through Integrated Representation of Variability and Source Code

The C preprocessor (CPP) is a standard tool for introducing variability ...
research
02/05/2021

Towards Modal Software Engineering

In this paper we introduce the notion of Modal Software Engineering: aut...

Please sign up or login with your details

Forgot password? Click here to reset