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

07/16/2021
by   Ramy Shahin, et al.
0

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.

READ FULL TEXT

page 3

page 5

page 7

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
04/30/2021

Towards Certified Analysis of Software Product Line Safety Cases

Safety-critical software systems are in many cases designed and implemen...
research
04/12/2021

Unburdening onboarding in Software Product Lines

The number of studies focusing on onboarding in software organizations h...
research
12/31/2020

Optimal Software Architecture From Initial Requirements: An End-to-End Approach

A software architect turns system requirements into a suitable software ...
research
07/20/2023

Software Product Line Engineering via Software Transplantation

For companies producing related products, a Software Product Line (SPL) ...
research
12/13/2018

A Systematic Review of Tracing Solutions in Software Product Lines

Software Product Lines are large-scale, multi-unit systems that enable m...
research
10/12/2021

Reverse Engineering Code Dependencies: Converting Integer-Based Variability to Propositional Logic

A number of SAT-based analysis concepts and tools for software product l...

Please sign up or login with your details

Forgot password? Click here to reset