English

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

Software Engineering 2021-08-03 v2

Abstract

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.

Keywords

Cite

@article{arxiv.2107.07690,
  title  = {Applying Declarative Analysis to Software Product Line Models: An Industrial Study},
  author = {Ramy Shahin and Robert Hackman and Rafael Toledo and Ramesh S and Joanne M. Atlee and Marsha Chechik},
  journal= {arXiv preprint arXiv:2107.07690},
  year   = {2021}
}

Comments

MODELS'21 pre-print

R2 v1 2026-06-24T04:15:04.013Z