Progress in the behavioral analysis of software product lin es at the family level benefits from further development of the underlying semantical theory. Here, we propose a behavioral equivalence for feature transition systems (FTS) generalizing branching bisimulation for labeled transition systems (LTS). We prove that branching feature bisimulation for an FTS of a family of products coincides with branching bisimulation for the LTS projection of each the individual products. For a restricted notion of coherent branching feature bisimulation we furthermore present a minimization algorithm and show its correctness. Although the minimization problem for coherent branching feature bisimulation is shown to be intractable, application of the algor ithm in the setting of a small case study results in a significant speed-up of model checking of behavi oral properties. Notions of behavioral equivalence, like bisimulation, play an important role in the analysis of large systems in general and thus of (software) product lines in particular. Abstractions based on behavioral equivalences compress, via abstraction operations and minimization algorithms, a model’s state space prior to verification. Subsequently, verification can be don e in less time, using less memory. Compared to single system verification, SPLE adds variabili ty as yet another dimension to the complexity of behavioral analysis. In general, the number of possible products of a product line is exponential in the number of features. This calls for dedicated modeling and analysis techniques that allow to specify and reason about an entire product line at once. In this paper we consider the model of feature transition systems [5, 6], which facilitates efficient family-based ve rification. Dedicated techniques generally use variability knowledge about valid feature configurations t o deduce results for products from a family model, as opposed to enumerative product-based verificatio n, in which every product is examined individually. For example, in [7] behavioral pre-orders of FTS are given with respect to specific products to define abstractions based on simulation quotients that pres erve LTL properties. We refer to [19] for an overview of verification strategies in SPLE and the trade-of f of product-based vs. family-based analysis. In [3,4] we applied tailored property preserving reductions to a product line modeled with mCRL2 [8] and we verified by means of model checking a number of behavior al properties of the product line. The mCRL2 toolset provides specific support for reduction modul o branching bisimulation [14]. This led us to investigate a feature-oriented notion of branching bi simulation inspired by the research reported in [7] (which focuses on a notion of simulation). In this paper, we propose a definition of what is coined branching feature bisimulation, extending the defin ition in [14], and we seek to adapt the efficient algorithm of [15] to compute, given an FTS, a minimal FTS that is branching feature bisimilar. In our pursuit to transfer the results of [7] to the case of bra nching bisimulation, a number of issues arises due to the presence of feature expressions, though. One such issue for FTS is that minimization in the number of states is not the same as minimization in the number of transitions, a situation that does not occur with LTS. Our effort here is to reduce in the number of states. In order to make our minimization
[1]
Erik P. de Vink,et al.
An Overview of the mCRL2 Toolset and Its Recent Advances
,
2013,
TACAS.
[2]
Pierre-Yves Schobbens,et al.
Simulation-based abstractions for software product-line model checking
,
2012,
2012 34th International Conference on Software Engineering (ICSE).
[3]
Robert E. Tarjan,et al.
Three Partition Refinement Algorithms
,
1987,
SIAM J. Comput..
[4]
Maurice H. ter Beek,et al.
Formal Description of Variability in Product Families
,
2011,
2011 15th International Software Product Line Conference.
[5]
Rob J. van Glabbeek,et al.
Branching Time and Abstraction in Bisimulation Semantics (Extended Abstract)
,
1989,
IFIP Congress.
[6]
Erik P. de Vink,et al.
Using mCRL2 for the analysis of software product lines
,
2014,
FormaliSE 2014.
[7]
Rob J. van Glabbeek,et al.
The Linear Time-Branching Time Spectrum (Extended Abstract)
,
1990,
CONCUR.
[8]
Sebastián Uchitel,et al.
A foundation for behavioural conformance in software product line architectures
,
2006,
ROSATEA '06.
[9]
R. V. Glabbeek.
The Linear Time - Branching Time Spectrum II: The Semantics of Sequential Systems with Silent Moves
,
1993
.
[10]
Pierre-Yves Schobbens,et al.
Model checking lots of systems: efficient verification of temporal properties in software product lines
,
2010,
2010 ACM/IEEE 32nd International Conference on Software Engineering.
[11]
Rocco De Nicola,et al.
Three logics for branching bisimulation
,
1995,
JACM.
[12]
Gunter Saake,et al.
A Classification and Survey of Analysis Strategies for Software Product Lines
,
2014,
ACM Comput. Surv..
[13]
Maurice H. ter Beek,et al.
A Compositional Framework to Derive Product Line Behavioural Descriptions
,
2012,
ISoLA.
[14]
Rob J. van Glabbeek,et al.
Branching time and abstraction in bisimulation semantics
,
1996,
JACM.
[15]
Robin Milner,et al.
Communication and concurrency
,
1989,
PHI Series in computer science.
[16]
Pierre-Yves Schobbens,et al.
Featured Transition Systems: Foundations for Verifying Variability-Intensive Systems and Their Application to LTL Model Checking
,
2013,
IEEE Transactions on Software Engineering.
[17]
Mirco Tribastone,et al.
Behavioral relations in a process algebra for variants
,
2014,
SPLC.
[18]
Jan Friso Groote,et al.
An Efficient Algorithm for Branching Bisimulation and Stuttering Equivalence
,
1990,
ICALP.
[19]
Kim G. Larsen,et al.
A modal process logic
,
1988,
[1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.
[20]
Erik P. de Vink,et al.
Towards Modular Verification of Software Product Lines with mCRL2
,
2014,
ISoLA.
[21]
Rob J. van Glabbeek,et al.
The Linear Time - Branching Time Spectrum II
,
1993,
CONCUR.