arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2107.07690cs.SE
收藏

应用陈述性分析于软体产品线模型:一项产业研究

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

Ramy Shahin, Robert Hackman, Rafael Toledo, Ramesh S, Joanne M. Atlee, Marsha Chechik

摘要:

软件产品线(SPL)是从一组公共工件开发的相关软件产品的系列。大多数现有的分析工具可以一次应用于单个产品,但不能应用于整个SPL。一些工具已经被重新设计/重新实现,以支持SPL中显示的可变性,但这通常需要花费大量的精力,并且容易出错。在以前的工作中,用Datasheet等语言编写的声明性分析已经被集体提升为SPL,这使得将现有的声明性分析应用于产品线的过程更加简单。在本文中,我们采取现有的声明性分析(行为改变)写在Grok声明性语言,端口到Datasheet,并将其应用到一组汽车软件产品线从通用汽车。我们讨论了在这个过程中使用的分析管道的设计,提出其可扩展性的结果,并提供了一种手段来可视化的分析结果的一个子集的产品过滤功能表达式。我们还反思了整个项目中的一些经验教训。

英文摘要:

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.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑