Title :
Reliability estimation for component-based software product lines
Author :
Bagheri, Ebrahim ; Ensan, Faezeh
Author_Institution :
Ryerson Univ., Toronto, ON, Canada
Abstract :
The objective of the software product line engineering paradigm is to enhance the largescale reuse of common core assets within a target domain. Reuse is facilitated by systematically organizing and modeling the core assets and the relationships between them. One of the main core assets of a domain is the model for representing the available functional aspects, often known as features, within structured forms such as feature models. The selection and composition of the most suitable or desirable set of features for a given purpose allows the rapid development of new final products from the software product line. Product developers are, in most cases, not only interested in building applications that possess certain functional characteristics but are also concerned with nonfunctional properties of the final product, such as reliability. To this end, we propose a component based software product line reliability estimation model that is able to provide lower and upper reliability bounds guarantees for a software product line feature model, its specializations and configurations. Our model builds on top of the reliability of the individual features that are present in the product line and provides best- and worst-case estimates. Our work is based on an essential and widely used assumption that features are implemented using self-contained software components or services whose reliability can be determined independently. We also propose reliability-aware configuration methods that ensure the satisfaction of both functional and reliability requirements during the application development process. We offer our observations and insight into the performance of our reliability estimation model and provide analysis of its advantages and shortcomings.
Keywords :
object-oriented programming; software product lines; software reliability; application development process; best-case estimates; component-based software product line engineering paradigm; feature composition; feature selection; functional aspects; functional characteristics; functional requirements; large-scale common core asset reuse enhancement; lower-reliability bound; nonfunctional properties; reliability estimation model; reliability requirements; reliability-aware configuration methods; self-contained software components; self-contained software services; software product line feature model; structured forms; systematic core asset modeling; systematic core asset organization; systematic relationship modeling; systematic relationship organization; target domain; upper-reliability bound; worst-case estimates; Estimation; Reliability engineering; Software; Software reliability; Testing; Upper bound; Automated configuration; feature models; nonfunctional properties; reliability estimation; software product lines;
Journal_Title :
Electrical and Computer Engineering, Canadian Journal of
DOI :
10.1109/CJECE.2014.2323958