SIP: Optimal Product Selection from Feature Models Using Many-Objective Evolutionary Optimization

A feature model specifies the sets of features that define valid products in a software product line. Recent work has considered the problem of choosing optimal products from a feature model based on a set of user preferences, with this being represented as a many-objective optimization problem. This problem has been found to be difficult for a purely search-based approach, leading to classical many-objective optimization algorithms being enhanced either by adding in a valid product as a seed or by introducing additional mutation and replacement operators that use an SAT solver. In this article, we instead enhance the search in two ways: by providing a novel representation and by optimizing first on the number of constraints that hold and only then on the other objectives. In the evaluation, we also used feature models with realistic attributes, in contrast to previous work that used randomly generated attribute values. The results of experiments were promising, with the proposed (SIP) method returning valid products with six published feature models and a randomly generated feature model with 10,000 features. For the model with 10,000 features, the search took only a few minutes.

[1]  Eckart Zitzler,et al.  HypE: An Algorithm for Fast Hypervolume-Based Many-Objective Optimization , 2011, Evolutionary Computation.

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

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

[4]  Yoshihiro Matsumoto,et al.  A Guide for Management and Financial Controls of Product Lines , 2007, 11th International Software Product Line Conference (SPLC 2007).

[5]  Ricardo A. L. Rabêlo,et al.  Toward a hybrid approach to generate Software Product Line portfolios , 2013, 2013 IEEE Congress on Evolutionary Computation.

[6]  Anne Auger,et al.  Theory of the hypervolume indicator: optimal μ-distributions and the choice of the reference point , 2009, FOGA '09.

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

[8]  Antonio Ruiz Cortés,et al.  FAMA Framework , 2008, 2008 12th International Software Product Line Conference.

[9]  Shengxiang Yang,et al.  A Grid-Based Evolutionary Algorithm for Many-Objective Optimization , 2013, IEEE Transactions on Evolutionary Computation.

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

[11]  Halit Oguztüzün,et al.  From extended feature models to constraint logic programming , 2013, Sci. Comput. Program..

[12]  Hisao Ishibuchi,et al.  Behavior of Multiobjective Evolutionary Algorithms on Many-Objective Knapsack Problems , 2015, IEEE Transactions on Evolutionary Computation.

[13]  Marco Laumanns,et al.  SPEA2: Improving the Strength Pareto Evolutionary Algorithm For Multiobjective Optimization , 2002 .

[14]  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).

[15]  Yinglin Wang,et al.  Practical Applications of Intelligent Systems , 2012 .

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

[17]  Mark Harman,et al.  Regression testing minimization, selection and prioritization: a survey , 2012, Softw. Test. Verification Reliab..

[18]  Frank Neumann,et al.  Multiplicative approximations and the hypervolume indicator , 2009, GECCO.

[19]  Antonio Ruiz Cortés,et al.  Automated analysis of feature models: challenges ahead , 2006, CACM.

[20]  Abdel Salam Sayyad Evolutionary Search Techniques with Strong Heuristics for Multi-Objective Feature Selection in Software Product Lines , 2014 .

[21]  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).

[22]  Ying-lin Wang,et al.  Ant colony optimization for feature selection in software product lines , 2013, Journal of Shanghai Jiaotong University (Science).

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

[24]  Shengxiang Yang,et al.  Shift-Based Density Estimation for Pareto-Based Algorithms in Many-Objective Optimization , 2014, IEEE Transactions on Evolutionary Computation.

[25]  Kalyanmoy Deb,et al.  A fast and elitist multiobjective genetic algorithm: NSGA-II , 2002, IEEE Trans. Evol. Comput..

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

[27]  Jun Sun,et al.  Optimizing selection of competing features via feedback-directed evolutionary algorithms , 2015, ISSTA.

[28]  Patrick M. Reed,et al.  Diagnostic Assessment of Search Controls and Failure Modes in Many-Objective Evolutionary Optimization , 2012, Evolutionary Computation.

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

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

[31]  Shengxiang Yang,et al.  A test problem for visual investigation of high-dimensional multi-objective search , 2014, 2014 IEEE Congress on Evolutionary Computation (CEC).

[32]  Hisao Ishibuchi,et al.  Evolutionary many-objective optimization: A short review , 2008, 2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational Intelligence).

[33]  Nicola Beume,et al.  Pareto-, Aggregation-, and Indicator-Based Methods in Many-Objective Optimization , 2007, EMO.

[34]  R. K. Ursem Multi-objective Optimization using Evolutionary Algorithms , 2009 .

[35]  Michael Kircher,et al.  Domain specific feature modeling for software product lines , 2012, SPLC '12.

[36]  Antonio Ruiz Cortés,et al.  Automated configuration support for infrastructure migration to the cloud , 2016, Future Gener. Comput. Syst..

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

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

[39]  Sam Malek,et al.  GuideArch: Guiding the exploration of architectural solution space under uncertainty , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[40]  Enrique Alba,et al.  On the Effect of the Steady-State Selection Scheme in Multi-Objective Genetic Algorithms , 2009, EMO.

[41]  Douglas C. Schmidt,et al.  Filtered Cartesian Flattening: An Approximation Technique for Optimally Selecting Features while Adhering to Resource Constraints , 2008, SPLC.

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

[43]  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).

[44]  Giovanni Denaro,et al.  ACM Transactions on Software Engineering and Methodology : Volume 22, Nomor 4, 2013 , 2014 .

[45]  Akito Monden,et al.  An analysis of developer metrics for fault prediction , 2010, PROMISE '10.

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

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

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

[49]  Xin Yao,et al.  An improved Two Archive Algorithm for Many-Objective optimization , 2014, 2014 IEEE Congress on Evolutionary Computation (CEC).

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

[51]  Kalyanmoy Deb,et al.  An Evolutionary Many-Objective Optimization Algorithm Using Reference-Point-Based Nondominated Sorting Approach, Part I: Solving Problems With Box Constraints , 2014, IEEE Transactions on Evolutionary Computation.

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

[53]  Yinglin Wang,et al.  Formalizing Feature Selection Problem in Software Product Lines Using 0-1 Programming , 2011 .

[54]  Johannes Müller,et al.  Value-Based Portfolio Optimization for Software Product Lines , 2011, 2011 15th International Software Product Line Conference.

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

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

[57]  Shengxiang Yang,et al.  A Comparative Study on Evolutionary Algorithms for Many-Objective Optimization , 2013, EMO.

[58]  Qingfu Zhang,et al.  MOEA/D: A Multiobjective Evolutionary Algorithm Based on Decomposition , 2007, IEEE Transactions on Evolutionary Computation.

[59]  Sergio Segura,et al.  Variability testing in the wild: the Drupal case study , 2017, Software & Systems Modeling.

[60]  D. C. Sharp,et al.  Reducing avionics software cost through component based product line development , 1998, 17th DASC. AIAA/IEEE/SAE. Digital Avionics Systems Conference. Proceedings (Cat. No.98CH36267).

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

[62]  Thomas Leich,et al.  FeatureIDE: An extensible framework for feature-oriented software development , 2014, Sci. Comput. Program..