Model-based verification of quantitative non-functional properties for software product lines

Evaluating quality attributes of a design model in the early stages of development can significantly reduce the cost and risks of developing a low quality product. To make this possible, software designers should be able to predict quality attributes by reasoning on a model of the system under development. Although there exists a variety of quality-driven analysis techniques for software systems, only a few work address software product lines. This paper describes how probabilistic model checking techniques and tools can be used to verify non-functional properties of different configurations of a software product line. We propose a model-based approach that enables software engineers to assess their design solutions for software product lines in the early stages of development. Furthermore, we discuss how the analysis time can be surprisingly reduced by applying parametric model checking instead of classic model checking. The results show that the parametric approach is able to substantially alleviate the verification time and effort required to analyze non-functional properties of software product lines.

[1]  Goiuria Sagardui Mendieta,et al.  Quality aware software product line engineering , 2010, Journal of the Brazilian Computer Society.

[2]  Silvia Mara Abrahão,et al.  Gathering current knowledge about quality evaluation in software product lines , 2009, SPLC.

[3]  Goiuria Sagardui,et al.  Evaluation of Quality Attribute Variability in Software Product Families , 2008, 15th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ecbs 2008).

[4]  Sven Apel,et al.  Scalable Prediction of Non-functional Properties in Software Product Lines , 2011, SPLC.

[5]  Bo Yang,et al.  Addressing quality attributes in domain analysis for product lines , 2006, IEE Proc. Softw..

[6]  Goiuria Sagardui,et al.  Quality Assessment in Software Product Lines , 2008, ICSR 2008.

[7]  Wolfgang Schröder-Preikschat,et al.  Approaching Non-functional Properties of Software Product Lines: Learning from Products , 2010, 2010 Asia Pacific Software Engineering Conference.

[8]  Hassan Gomaa Designing Software Product Lines with UML 2.0: From Use Cases to Pattern-Based Software Architectures , 2006, ICSR.

[9]  Eila Niemelä,et al.  Survey of reliability and availability prediction methods from the viewpoint of software architecture , 2007, Software & Systems Modeling.

[10]  Stan Jarzabek,et al.  Quality Prediction and Assessment for Product Lines , 2003, CAiSE.

[11]  María Victoria Cengarle,et al.  Semantics of UML 2.0 Interactions with Variabilities , 2006, FACS.

[12]  Conrado Daws Symbolic and Parametric Model Checking of Discrete-Time Markov Chains , 2004, ICTAC.

[13]  Marta Z. Kwiatkowska,et al.  PRISM: probabilistic model checking for performance and reliability analysis , 2009, PERV.

[14]  Christel Baier,et al.  Principles of Model Checking (Representation and Mind Series) , 2008 .

[15]  Lijun Zhang,et al.  PARAM: A Model Checker for Parametric Markov Models , 2010, CAV.

[16]  David S. Rosenblum,et al.  Using Scenarios to Predict the Reliability of Concurrent Component-Based Software Systems , 2005, FASE.

[17]  Katerina Goseva-Popstojanova,et al.  Architecture-based approach to reliability assessment of software systems , 2001, Perform. Evaluation.

[18]  Eila Niemelä,et al.  Capturing quality requirements of product family architecture , 2007, Inf. Softw. Technol..

[19]  Marta Kwiatkowska,et al.  Advances and challenges of probabilistic model checking , 2010, 2010 48th Annual Allerton Conference on Communication, Control, and Computing (Allerton).

[20]  Pierre-Yves Schobbens,et al.  Symbolic model checking of software product lines , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[21]  Dorina C. Petriu,et al.  Integrating Performance Analysis in the Model Driven Development of Software Product Lines , 2008, MoDELS.

[22]  Carlo Ghezzi,et al.  Run-time efficient probabilistic model checking , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[23]  Pierre-Yves Schobbens,et al.  Model checking lots of systems: efficient verification of temporal properties in software product lines , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[24]  Wolfgang Schröder-Preikschat,et al.  Towards Tool Support for the Configuration of Non-Functional Properties in SPLs , 2009 .

[25]  Marko Palviainen,et al.  Knowledge based quality-driven architecture design and evaluation , 2010, Inf. Softw. Technol..

[26]  Klaus Pohl,et al.  Model Checking of Domain Artifacts in Product Line Engineering , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

[27]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[28]  Steffen Göbel,et al.  The COMQUAD component model: enabling dynamic selection of implementations by weaving non-functional aspects , 2004, AOSD '04.

[29]  Gunter Saake,et al.  Measuring Non-Functional Properties in Software Product Line for Product Derivation , 2008, 2008 15th Asia-Pacific Software Engineering Conference.

[30]  Carlo Ghezzi,et al.  Quantitative Verification of Non-functional Requirements with Uncertainty , 2011 .

[31]  Jean-Marc Jézéquel,et al.  Towards a UML Profile for Software Product Lines , 2003, PFE.

[32]  Welf Löwe,et al.  Software Quality Prediction Models Compared , 2010, 2010 10th International Conference on Quality Software.

[33]  Rajeev Alur,et al.  Model Checking of Message Sequence Charts , 1999, CONCUR.

[34]  Roy Oberhauser,et al.  Integrating Quality Modeling with Feature Modeling in Software Product Lines , 2009, 2009 Fourth International Conference on Software Engineering Advances.