Is seeding a good strategy in multi-objective feature selection when feature models evolve?

Abstract Context: When software architects or engineers are given a list of all the features and their interactions (i.e., a Feature Model or FM) together with stakeholders’ preferences – their task is to find a set of potential products to suggest the decision makers. Software Product Lines Engineering (SPLE) consists in optimising those large and highly constrained search spaces according to multiple objectives reflecting the preference of the different stakeholders. SPLE is known to be extremely skill- and labour-intensive and it has been a popular topic of research in the past years. Objective: This paper presents the first thorough description and evaluation of the related problem of evolving software product lines. While change and evolution of software systems is the common case in the industry, to the best of our knowledge this element has been overlooked in the literature. In particular, we evaluate whether seeding previous solutions to genetic algorithms (that work well on the general problem) would help them to find better/faster solutions. Method: We describe in this paper a benchmark of large scale evolving FMs, consisting of 5 popular FMs and their evolutions – synthetically generated following an experimental study of FM evolution. We then study the performance of a state-of-the-art algorithm for multi-objective FM selection (SATIBEA) when seeded with former solutions. Results:Our experiments show that we can improve both the execution time and the quality of SATIBEA by feeding it with previous configurations. In particular, SATIBEA with seeds proves to converge an order of magnitude faster than SATIBEA alone. Conclusion: We show in this paper that evolution of FMs is not a trivial task and that seeding previous solutions can be used as a first step in the optimisation - unless the difference between former and current FMs is high, where seeding has a limited impact.

[1]  Hisao Ishibuchi,et al.  Modified Distance Calculation in Generational Distance and Inverted Generational Distance , 2015, EMO.

[2]  Anthony Ventresque,et al.  Preliminary Study of Multi-objective Features Selection for Evolving Software Product Lines , 2016, SSBSE.

[3]  Yinglin Wang,et al.  A genetic algorithm for optimized feature selection with resource constraints in software product lines , 2011, J. Syst. Softw..

[4]  Goetz Botterweck,et al.  Evolution of Software Product Lines , 2014, Evolving Software Systems.

[5]  Krzysztof Czarnecki,et al.  Empirical comparison of regression methods for variability-aware performance prediction , 2015, SPLC.

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

[7]  Yi Zhang,et al.  A mathematical model of performance-relevant feature interactions , 2016, SPLC.

[8]  Lothar Thiele,et al.  A Tutorial on the Performance Assessment of Stochastic Multiobjective Optimizers , 2006 .

[9]  Tim Menzies,et al.  On the value of user preferences in search-based software engineering: A case study in software product lines , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[10]  Paul Grünbacher,et al.  Structuring the modeling space and supporting evolution in software product line engineering , 2010, J. Syst. Softw..

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

[12]  Jacques Klein,et al.  Multi-objective test generation for software product lines , 2013, SPLC '13.

[13]  A. Vargha,et al.  A Critique and Improvement of the CL Common Language Effect Size Statistics of McGraw and Wong , 2000 .

[14]  Sven Apel,et al.  Scaling exact multi-objective combinatorial optimization by parallelization , 2014, ASE.

[15]  Alexander Egyed,et al.  Comparative analysis of classical multi-objective evolutionary algorithms and seeding strategies for pairwise testing of Software Product Lines , 2014, 2014 IEEE Congress on Evolutionary Computation (CEC).

[16]  Sergio Segura,et al.  FAMA: Tooling a Framework for the Automated Analysis of Feature Models , 2007, VaMoS.

[17]  Douglas C. Schmidt,et al.  Evolving feature model configurations in software product lines , 2014, J. Syst. Softw..

[18]  Daniel Hoffman,et al.  Commonality and Variability in Software Engineering , 1998, IEEE Softw..

[19]  Stefan Kowalewski,et al.  Model-driven support for product line evolution on feature level , 2012, J. Syst. Softw..

[20]  Thelma Elita Colanzi,et al.  Applying Search Based Optimization to Software Product Line Architectures: Lessons Learned , 2012, SSBSE.

[21]  Sven Apel,et al.  Feature-oriented software evolution , 2013, VaMoS.

[22]  Steven She Feature Model Synthesis , 2013 .

[23]  Yuanyuan Zhang,et al.  Search based software engineering for software product line engineering: a survey and directions for future work , 2014, SPLC.

[24]  Martin Verlage,et al.  The Economic Impact of Product Line Adoption and Evolution , 2002, IEEE Softw..

[25]  Alexander Egyed,et al.  Multi-objective Optimal Test Suite Computation for Software Product Line Pairwise Testing , 2013, 2013 IEEE International Conference on Software Maintenance.

[26]  Thelma Elita Colanzi,et al.  A Pattern-Driven Mutation Operator for Search-Based Product Line Architecture Design , 2014, SSBSE.

[27]  Klaus Pohl,et al.  Software product line engineering and variability management: achievements and challenges , 2014, FOSE.

[28]  Thomas Thüm,et al.  Reasoning about edits to feature models , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[29]  Kalyanmoy Deb,et al.  Towards a Quick Computation of Well-Spread Pareto-Optimal Solutions , 2003, EMO.

[30]  Jianmei Guo,et al.  Consistency maintenance for evolving feature models , 2012, Expert Syst. Appl..

[31]  Lionel C. Briand,et al.  A practical guide for using statistical tests to assess randomized algorithms in software engineering , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[32]  Günther Ruhe,et al.  A Search Based Approach Towards Robust Optimization in Software Product Line Scoping , 2015, GECCO.

[33]  Thelma Elita Colanzi,et al.  Representation of Software Product Line Architectures for search-based design , 2013, 2013 1st International Workshop on Combining Modelling and Search-Based Software Engineering (CMSBSE).

[34]  Arnaud Gotlieb,et al.  Minimizing test suites in software product lines using weight-based genetic algorithms , 2013, GECCO '13.

[35]  Katerina Goseva-Popstojanova,et al.  On Parameter Tuning in Search Based Software Engineering: A Replicated Empirical Study , 2013, 2013 3rd International Workshop on Replication in Empirical Software Engineering Research.

[36]  Krzysztof Czarnecki,et al.  Variability modeling in the real: a perspective from the operating systems domain , 2010, ASE '10.

[37]  Derek Rayside,et al.  Comparison of exact and approximate multi-objective optimization for software product lines , 2014, SPLC.

[38]  Krzysztof Czarnecki,et al.  Staged Configuration Using Feature Models , 2004, SPLC.

[39]  Lothar Thiele,et al.  Multiobjective evolutionary algorithms: a comparative case study and the strength Pareto approach , 1999, IEEE Trans. Evol. Comput..

[40]  Paul Grünbacher,et al.  Supporting Evolution in Model-Based Product Line Engineering , 2008, 2008 12th International Software Product Line Conference.

[41]  Thomas Hawkins Lebesgue's theory of integration: Its origins and development , 1971 .

[42]  Thelma Elita Colanzi,et al.  A feature-driven crossover operator for multi-objective and evolutionary optimization of product line architectures , 2016, J. Syst. Softw..

[43]  Sven Apel,et al.  Performance-influence models for highly configurable systems , 2015, ESEC/SIGSOFT FSE.

[44]  Asad Abbas,et al.  Multi-Objective Optimization of Feature Model in Software Product Line: Perspectives and Challenges , 2016 .

[45]  Stefan Kowalewski,et al.  EvoFM: feature-driven planning of product-line evolution , 2010, PLEASE '10.

[46]  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.

[47]  Miguel A. Laguna,et al.  A systematic mapping study on software product line evolution: From legacy system reengineering to product line refactoring , 2013, Sci. Comput. Program..

[48]  Krzysztof Czarnecki,et al.  A Study of Variability Models and Languages in the Systems Software Domain , 2013, IEEE Transactions on Software Engineering.

[49]  Mark Harman,et al.  Automated web application testing using search based software engineering , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

[50]  Lothar Thiele,et al.  Multiobjective Optimization Using Evolutionary Algorithms - A Comparative Case Study , 1998, PPSN.

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

[52]  Thelma Elita Colanzi,et al.  Search based design of software product lines architectures , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[53]  S. She,et al.  Variability Modeling in the Systems Software Domain , 2012 .

[54]  Gordon Fraser,et al.  The Seed is Strong: Seeding Strategies in Search-Based Software Testing , 2012, 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation.

[55]  Sergio Segura,et al.  Automated analysis of feature models 20 years later: A literature review , 2010, Inf. Syst..

[56]  Pedro de Alcântara dos Santos Neto,et al.  A hybrid approach to suggest software product line portfolios , 2016, Appl. Soft Comput..

[57]  Krzysztof Czarnecki,et al.  Reverse engineering feature models , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[58]  Marco Laumanns,et al.  Performance assessment of multiobjective optimizers: an analysis and review , 2003, IEEE Trans. Evol. Comput..

[59]  Frank Neumann,et al.  Analyzing Hypervolume Indicator Based Algorithms , 2008, PPSN.

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

[61]  Sven Apel,et al.  Scalable Prediction of Non-functional Properties in Software Product Lines , 2011, 2011 15th International Software Product Line Conference.

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

[63]  Tim Menzies,et al.  Optimum feature selection in software product lines: Let your model and values guide your search , 2013, 2013 1st International Workshop on Combining Modelling and Search-Based Software Engineering (CMSBSE).

[64]  Yan Li,et al.  A Practical Guide to Select Quality Indicators for Assessing Pareto-Based Search Algorithms in Search-Based Software Engineering , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE).

[65]  Felix Lösch,et al.  Optimization of Variability in Software Product Lines , 2007, 11th International Software Product Line Conference (SPLC 2007).

[66]  Tim Menzies,et al.  Scalable product line configuration: A straw to break the camel's back , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[67]  Eckart Zitzler,et al.  Indicator-Based Selection in Multiobjective Search , 2004, PPSN.