Quality Engineering for Software Product Lines

  The product line approach to software development is based on systematic and large-scale reuse of design and implementation artifacts such as design models or software components in order to facilitate the production process of a set of functionally similar software systems. Through reuse engineering, software product lines attempt to shorten the development time and lower software maintenance costs. Various success stories in using product families and associated techniques have been reported. As an example, Clements and Northrop (2003) reported that Nokia was able to increase its production capacity for new cellular phone models from 5-10 to around 30 models per year, which alleviated Nokia’s main challenge being the high pace of market demand and customer taste change.

Due to the nature of reuse-based application engineering technology such as software product lines, the lifespan of their artifacts is much longer in comparison to that of a single software system, and have a longer lasting effect on the software production process. This entails that inaccuracy in the product line approach can have a ripple effect on the validity or usefulness of the systems developed based on its artifacts; therefore, quality engineering becomes extremely important in software product lines, and its assurance will guarantee higher degree of quality in its spawning products. However, the evaluation of all product variants of a product line is very expensive and time consuming; hence, early-stage quality assessment, measurement, and validation techniques are more desirable, which would avoid costly problems in the late stages of the software development lifecycle.

The primary goal of this research project is to focus on feature modeling techniques, as a widely used approach in software product lines, in order to cater methods, techniques and decision support tools that would ensure early-stage quality engineering from syntactic (structural validation of feature models), and semantic (verification and validation of feature models) perspectives.


Natural Sciences and Engineering
Research Council of Canada