Heuristic and exact algorithms for product configuration in software product lines

The Software Product Line (SPL) configuration field is an active area of research and has attracted both practitioners and researchers attention in the last years. A key part of an SPL configuration is a feature model that represents features and their dependencies (i.e., SPL configuration rules). This model can be extended by adding Non-Functional Properties (NFPs) as feature attributes resulting in Extended Feature Models (EFMs). Configuring products from an EFM requires considering the configuration rules of the model and satisfying the product functional and non-functional requirements. Although the configuration of a product arising from EFMs may reduce the space of valid configurations, selecting the most appropriate set of features is still an overwhelming task due to many factors including technical limitations and diversity of contexts. Consequently, configuring large and complex SPLs by using configurators is often beyond the users' capabilities of identifying valid combinations of features that match their (non-functional) requirements. To overcome this limitation, several approaches have modeled the product configuration task as a combinatorial optimization problem and proposed constraint programming algorithms to automatically derive a configuration. Although these approaches do not require any user intervention to guarantee the optimality of the generated configuration, due to the NP-hard computational complexity of finding an optimal variant, exact approaches have inefficient exponential time. Thus, to improve scalability and performance issues, we introduced the adoption of a greedy heuristic algorithm and a biased random-key genetic algorithm (BRKGA). Our experiment results show that our proposed heuristics found optimal solutions for all instances where those are known. For the instances where optimal solutions are not known, the greedy heuristic outperformed the best solution obtained by a one-hour run of the exact algorithm by up to 67.89%. Although the BRKGA heuristic slightly outperformed the greedy heuristic, it has shown larger running times (especially on the largest instances). Therefore, to ensure a good user experience and enable a very fast configuration task, we extended a state-of-the-art configurator with the proposed greedy heuristic approach.

[1]  Krzysztof Czarnecki,et al.  Classification of Model Transformation Approaches , 2003 .

[2]  Valerio Schiavoni,et al.  A component‐based middleware platform for reconfigurable service‐oriented architectures , 2012, Softw. Pract. Exp..

[3]  Jaejoon Lee,et al.  FORM: A feature-;oriented reuse method with domain-;specific reference architectures , 1998, Ann. Softw. Eng..

[4]  Dragan Gasevic,et al.  Configuring Software Product Line Feature Models Based on Stakeholders' Soft and Hard Requirements , 2010, SPLC.

[5]  Antonio Ruiz Cortés,et al.  Using Java CSP Solvers in the Automated Analyses of Feature Models , 2005, GTTSE.

[6]  Gunter Saake,et al.  A survey on scalability and performance concerns in extended product lines configuration , 2017, VaMoS.

[7]  Mark Harman,et al.  Highly Scalable Multi Objective Test Suite Minimisation Using Graphics Cards , 2011, SSBSE.

[8]  Donald D. Cowan,et al.  Decision-making coordination in collaborative product configuration , 2008, SAC '08.

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

[10]  Sébastien Gérard,et al.  Annotating UML Models with Non-functional Properties for Quantitative Analysis , 2005, MoDELS Satellite Events.

[11]  Mauricio G. C. Resende,et al.  Biased random-key genetic algorithms for combinatorial optimization , 2011, J. Heuristics.

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

[13]  Marco Sinnema,et al.  Classifying variability modeling techniques , 2007, Inf. Softw. Technol..

[14]  Giorgio Gallo,et al.  On the supermodular knapsack problem , 1989, Math. Program..

[15]  Cláudio Sant'Anna,et al.  Evolving software product lines with aspects , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[16]  Lucas Garcia,et al.  SPLConfig : Product Configuration in Software Product Line , 2014 .

[17]  Kerstin Mueller,et al.  Software Product Line Engineering Foundations Principles And Techniques , 2016 .

[18]  Celso C. Ribeiro,et al.  A biased random-key genetic algorithm for routing and wavelength assignment , 2011, J. Glob. Optim..

[19]  Goetz Botterweck,et al.  Towards Supporting Feature Configuration by Interactive Visualisation , 2007, SPLC.

[20]  Mark Harman,et al.  Search-based software engineering , 2001, Inf. Softw. Technol..

[21]  Christian Del Rosso Reducing internal fragmentation in segregated free lists using genetic algorithms , 2006, WISER '06.

[22]  Alexander Egyed,et al.  A systematic mapping study of search-based software engineering for software product lines , 2015, Inf. Softw. Technol..

[23]  Thelma Elita Colanzi,et al.  Preserving architectural styles in the search based design of software product line architectures , 2016, J. Syst. Softw..

[24]  Marek Hatala,et al.  Toward automated feature model configuration with optimizing non-functional requirements , 2014, Inf. Softw. Technol..

[25]  Yves Le Traon,et al.  Combining Multi-Objective Search and Constraint Solving for Configuring Large Software Product Lines , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

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

[27]  João Araújo,et al.  Multi-view Composition Language for Software Product Line Requirements , 2009, SLE.

[28]  M. Mannion,et al.  Visualising Product Line Requirement Selection Decision Inter-dependencies , 2007, Second International Workshop on Requirements Engineering Visualization (REV 2007).

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

[30]  Ronald L. Rivest,et al.  Introduction to Algorithms, third edition , 2009 .

[31]  Krzysztof Czarnecki,et al.  Feature models are views on ontologies , 2006, 10th International Software Product Line Conference (SPLC'06).

[32]  Derek Rayside,et al.  Modelling and multi-objective optimization of quality attributes in variability-rich software , 2012, NFPinDSML '12.

[33]  Klaus Schmid,et al.  Software product lines in action - the best industrial practice in product line engineering , 2007 .

[34]  Patrick Donohoe,et al.  Feature-Oriented Project Line Engineering , 2002, IEEE Softw..

[35]  Yuanyuan Zhang,et al.  Search-based software engineering: Trends, techniques and applications , 2012, CSUR.

[36]  Uwe Zdun,et al.  Designing runtime variation points in product line architectures: three cases , 2004, Sci. Comput. Program..

[37]  Thelma Elita Colanzi,et al.  Optimizing Software Product Line Architectures with OPLA-Tool , 2015, SSBSE.

[38]  Sebastian Krieter,et al.  FeatureIDE: Scalable Product Configuration of Variable Systems , 2016, ICSR.

[39]  Yuqing Lin,et al.  Quality attribute modeling and quality aware product configuration in software product lines , 2013, Software Quality Journal.

[40]  Krzysztof Czarnecki,et al.  SAT-based analysis of feature models is easy , 2009, SPLC.

[41]  W. Spears,et al.  On the Virtues of Parameterized Uniform Crossover , 1995 .

[42]  Marco Sinnema,et al.  Experiences in Software Product Families: Problems and Issues During Product Derivation , 2004, SPLC.

[43]  Donald D. Cowan,et al.  S.P.L.O.T.: software product lines online tools , 2009, OOPSLA Companion.

[44]  Mark Harman,et al.  Search Based Approaches to Component Selection and Prioritization for the Next Release Problem , 2006, 2006 22nd IEEE International Conference on Software Maintenance.

[45]  Krzysztof Czarnecki,et al.  Evolution of the Linux Kernel Variability Model , 2010, SPLC.

[46]  Derek Rayside,et al.  The Guided Improvement Algorithm for Exact, General-Purpose, Many-Objective Combinatorial Optimization , 2009 .

[47]  Ebrahim Bagheri,et al.  Dynamic decision models for staged software product line configuration , 2013, Requirements Engineering.

[48]  Gunter Saake,et al.  Feature-Oriented Software Product Lines , 2013, Springer Berlin Heidelberg.

[49]  Sean Quan Lau Domain Analysis of E-Commerce Systems Using Feature-Based Model Templates , 2006 .

[50]  Krzysztof Czarnecki,et al.  Cool features and tough decisions: a comparison of variability modeling approaches , 2012, VaMoS.

[51]  Paolo Ciancarini,et al.  Architecting families of software systems with process algebras , 2002, TSEM.

[52]  Eduardo Figueiredo,et al.  A Systematic Literature Review of Software Product Line Management Tools , 2015, ICSR.

[53]  Anne Etien,et al.  Using feature model to build model transformation chains , 2012, MODELS'12.

[54]  Mike Mannion Using First-Order Logic for Product Line Model Validation , 2002, SPLC.

[55]  Vicente Pelechano,et al.  Autonomic Computing through Reuse of Variability Models at Runtime: The Case of Smart Homes , 2009, Computer.

[56]  Gunter Saake,et al.  SPL Conqueror: Toward optimization of non-functional properties in software product lines , 2012, Software Quality Journal.

[57]  Thelma Elita Colanzi,et al.  Search Based Design of Layered Product Line Architectures , 2015, 2015 IEEE 39th Annual Computer Software and Applications Conference.

[58]  Mark Harman,et al.  FloPSy - Search-Based Floating Point Constraint Solving for Symbolic Execution , 2010, ICTSS.

[59]  Dragan Gasevic,et al.  Stratified Analytic Hierarchy Process: Prioritization and Selection of Software Features , 2010, SPLC.

[60]  Martin L. Griss,et al.  Integrating feature modeling with the RSEB , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[61]  Michel Barbeau,et al.  A Protocol Stack Development Tool Using Generative Programming , 2002, GPCE.

[62]  Don S. Batory,et al.  Feature Models, Grammars, and Propositional Formulas , 2005, SPLC.

[63]  Antonio Ruiz Cortés,et al.  Automated Reasoning on Feature Models , 2005, CAiSE.

[64]  Celso C. Ribeiro,et al.  A biased random-key genetic algorithm to maximize the number of accepted lightpaths in WDM optical networks , 2016, J. Glob. Optim..

[65]  Alexandr Murashkin,et al.  Clafer tools for product line engineering , 2013, SPLC '13 Workshops.