A software product line is a family of software products that share a common
set of mandatory features and whose individual products are differentiated by
their variable (optional or alternative) features. Family-based analysis of
software product lines takes as input a single model of a complete product line
and analyzes all its products at the same time. As the number of products in a
software product line may be large, this is generally preferable to analyzing
each product on its own. Family-based analysis, however, requires that standard
algorithms be adapted to accomodate variability.
In this paper we adapt the standard algorithm for computing limit average
cost of a weighted transition system to software product lines. Limit average
is a useful and popular measure for the long-term average behavior of a quality
attribute such as performance or energy consumption, but has hitherto not been
available for family-based analysis of software product lines. Our algorithm
operates on weighted featured transition systems, at a symbolic level, and
computes limit average cost for all products in a software product line at the
same time. We have implemented the algorithm and evaluated it on several
examples