Detection of Feature Interactions Using Feature-Aware Verification
A software product line is a set of software products that are distinguished in terms of features (i.e., end-user - visible units of behavior). Feature interactions - situations in which the combination of features leads to emergent and possibly critical behavior - are a major source of failures in software product lines. The authors explore how feature-aware verification can improve the automatic detection of feature interactions in software product lines. Feature-aware verification uses product-line - verification techniques and supports the specification of feature properties along with the features in separate and composable units. It integrates the technique of variability encoding to verify a product line without generating and checking a possibly exponential number of feature combinations.