Skip to main content
Article thumbnail
Location of Repository

Scalable prediction of nonfunctional properties in software product lines

By Norbert Siegmund, Marko Rosenmüller, Christian Kästner, Paolo G. Giarrusso, Sven Apel and Sergiy S. Kolesnikov


Abstract—A software product line is a family of related software products, typically, generated from a set of common assets. Users can select features to derive a product that fulfills their needs. Often, users expect a product to have specific nonfunctional properties, such as a small footprint or a minimum response time. Because a product line can contain millions of products, it is usually not feasible to generate and measure nonfunctional properties for each possible product of a product line. Hence, we propose an approach to predict a product’s nonfunctional properties, based on the product’s feature selection. To this end, we generate and measure a small set of products, and by comparing the measurements, we approximate each feature’s non-functional properties. By aggregating the approximations of selected features, we predict the product’s properties. Our technique is independent of the implementation approach and language. We show how already little domain knowledge can improve predictions and discuss trade-offs regarding accuracy and the required number of measurements. Although our approach is in general applicable for quantifiable non-functional properties, we evaluate it for the non-functional property footprint. With nine case studies, we demonstrate that our approach usually predicts the footprint with an accuracy of 98 % and an accuracy of over 99 % if feature interactions are known. I

Year: 2013
OAI identifier: oai:CiteSeerX.psu:
Provided by: CiteSeerX
Download PDF:
Sorry, we are unable to provide the full text but you may find it at the following location(s):
  • (external link)
  • http://wwwiti.cs.uni-magdeburg... (external link)
  • Suggested articles

    To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.