All roads lead to Rome: Commuting strategies for product-line reliability analysis

Thiago Castro, André Lanna, Vander Alves, Leopoldo Teixeira, Sven Apel, Pierre Yves Schobbens

Research output: Contribution to journalArticlepeer-review

Abstract

Software product line engineering is a means to systematically manage variability and commonality in software systems, enabling the automated synthesis of related programs (products) from a set of reusable assets. However, the number of products in a software product line may grow exponentially with the number of features, so it is practically infeasible to quality-check each of these products in isolation. There is a number of variability-aware approaches to product-line analysis that adapt single-product analysis techniques to cope with variability in an efficient way. Such approaches can be classified along three analysis dimensions (product-based, family-based, and feature-based), but, particularly in the context of reliability analysis, there is no theory comprising both (a) a formal specification of the three dimensions and resulting analysis strategies and (b) proof that such analyses are equivalent to one another. The lack of such a theory hinders formal reasoning on the relationship between the analysis dimensions and derived analysis techniques. We formalize seven approaches to reliability analysis of product lines, including the first instance of a feature-family-product-based analysis in the literature. We prove the formalized analysis strategies to be sound with respect to the probabilistic approach to reliability analysis of a single product. Furthermore, we present a commuting diagram of intermediate analysis steps, which relates different strategies and enables the reuse of soundness proofs between them.

Original languageEnglish
Pages (from-to)116-160
Number of pages45
JournalScience of Computer Programming
Volume152
DOIs
Publication statusPublished - 15 Jan 2018

Keywords

  • Model checking
  • Product-line analysis
  • Reliability analysis
  • Software product lines
  • Verification

Fingerprint

Dive into the research topics of 'All roads lead to Rome: Commuting strategies for product-line reliability analysis'. Together they form a unique fingerprint.

Cite this