Optimizing Model-Based Software Product Line Testing with Graph Transformations

Software Product Lines (SPLs) are increasing in relevance and importance as various domains strive to cope with the challenges of supporting a high degree of variability in modern software systems.  Especially the systematic testing of SPLs is non-trivial as a high degree of variability implies a vast number of possible products.As testing every valid product individually quickly becomes infeasible, heuristics are often used to choose a representative subset of products to be tested.  MoSo-PoLiTe (Model-Based Software Product Line Testing) is a framework for SPL testing that combines and applies combinatorial (in particular pairwise) and model-based testing to SPL feature models.  In this paper, we (1) present MoSo-PoLiTe as a novel case study for graph transformations in general and Story Driven Modelling (SDM) in particular, (2) show why we consider SDMs to be ideal for rapid prototyping optimization strategies in this context, and (3) evaluate our implemented optimizations and quantify the realized improvements for MoSo-PoLiTe.

[1]  Pieter J. Mosterman,et al.  Model-Based Testing for Embedded Systems , 2011, Computational Analysis, Synthesis, & Design Dynamic Systems.

[2]  Jacques Klein,et al.  Pairwise testing for software product lines: comparison of two approaches , 2012, Software Quality Journal.

[3]  Albert Zündorf,et al.  Story Diagrams: A New Graph Rewrite Language Based on the Unified Modeling Language and Java , 1998, TAGT.

[4]  Sebastian Oster,et al.  Automated Incremental Pairwise Testing of Software Product Lines , 2010, SPLC.

[5]  Sarfraz Khurshid,et al.  Reducing combinatorics in testing product lines , 2011, AOSD '11.

[6]  Andy Schürr,et al.  Emoflon: leveraging EMF and professional CASE tools , 2011, GI-Jahrestagung.

[7]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[8]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[9]  Krzysztof Czarnecki,et al.  Staged configuration through specialization and multilevel configuration of feature models , 2005, Softw. Process. Improv. Pract..

[10]  Douglas C. Schmidt,et al.  Selecting highly optimal architectural feature sets with Filtered Cartesian Flattening , 2009, J. Syst. Softw..

[11]  Emelie Engström,et al.  Regression Test Selection and Product Line System Testing , 2010, 2010 Third International Conference on Software Testing, Verification and Validation.

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

[13]  John D. McGregor,et al.  Testing a Software Product Line , 2001, PSSE.

[14]  Hachemi Bennaceur,et al.  A Comparison between SAT and CSP Techniques , 2004, Constraints.

[15]  Krzysztof Czarnecki,et al.  Feature Diagrams and Logics: There and Back Again , 2007 .

[16]  Kathrin Danielle Scheidemann Verifying families of system configurations , 2008 .

[17]  Malte Lochau,et al.  MoSo-PoLiTe: tool support for pairwise and model-based software product line testing , 2011, VaMoS '11.

[18]  Sebastian Oster A Semantic Preserving Feature Model to CSP Transformation , 2011 .

[19]  Malte LochauSebastian Model-based pairwise testing for feature interaction coverage in software product line engineering , 2012 .

[20]  Andy Schürr,et al.  A Survey of Model-Based Software Product Lines Testing , 2011, Model-Based Testing for Embedded Systems.