SEJul 16, 2021

Applying Declarative Analysis to Software Product Line Models: An Industrial Study

arXiv:2107.07690v2
AI Analysis

This addresses the problem of efficiently analyzing entire SPLs for industrial software engineers, but it is incremental as it builds on prior work on lifting declarative analyses.

The paper tackled the challenge of applying declarative analysis to Software Product Lines (SPLs) by porting an existing analysis to Datalog and testing it on automotive SPLs from General Motors, achieving scalability results and providing visualization tools for filtered products.

Software Product Lines (SPLs) are families of related software products developed from a common set of artifacts. Most existing analysis tools can be applied to a single product at a time, but not to an entire SPL. Some tools have been redesigned/re-implemented to support the kind of variability exhibited in SPLs, but this usually takes a lot of effort, and is error-prone. Declarative analyses written in languages like Datalog have been collectively lifted to SPLs in prior work, which makes the process of applying an existing declarative analysis to a product line more straightforward. In this paper, we take an existing declarative analysis (behaviour alteration) written in the Grok declarative language, port it to Datalog, and apply it to a set of automotive software product lines from General Motors. We discuss the design of the analysis pipeline used in this process, present its scalability results, and provide a means to visualize the analysis results for a subset of products filtered by feature expression. We also reflect on some of the lessons learned throughout this project.

Foundations

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

Your Notes