Configuring Software Product Lines by Combining Many-Objective Optimization and SAT Solvers

A feature model (FM) is a compact representation of the information of all possible products from software product lines. The optimal feature selection involves the simultaneous optimization of multiple (usually more than three) objectives in a large and highly constrained search space. By combining our previous work on many-objective evolutionary algorithm (i.e., VaEA) with two different satisfiability (SAT) solvers, this article proposes a new approach named SATVaEA for handling the optimal feature selection problem. In SATVaEA, an FM is simplified with the number of both features and constraints being reduced greatly. We enhance the search of VaEA by using two SAT solvers: one is a stochastic local search--based SAT solver that can quickly repair infeasible configurations, whereas the other is a conflict-driven clause-learning SAT solver that is introduced to generate diversified products. We evaluate SATVaEA on 21 FMs with up to 62,482 features, including two models with realistic values for feature attributes. The experimental results are promising, with SATVaEA returning 100% valid products on almost all FMs. For models with more than 10,000 features, the search in SATVaEA takes only a few minutes. Concerning both effectiveness and efficiency, SATVaEA significantly outperforms other state-of-the-art algorithms.

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

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

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

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

[5]  David A. McAllester,et al.  A Rearrangement Search Strategy for Determining Propositional Satisfiability , 1988, AAAI.

[6]  M. Farina,et al.  On the optimal solution definition for many-criteria optimization problems , 2002, 2002 Annual Meeting of the North American Fuzzy Information Processing Society Proceedings. NAFIPS-FLINT 2002 (Cat. No. 02TH8622).

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

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

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

[10]  Peter M. Athanas,et al.  Hardware accelerated SAT solvers - A survey , 2017, J. Parallel Distributed Comput..

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

[12]  Antonio J. Nebro,et al.  jMetal: A Java framework for multi-objective optimization , 2011, Adv. Eng. Softw..

[13]  Øystein Haugen,et al.  An algorithm for generating t-wise covering arrays from large feature models , 2012, SPLC '12.

[14]  Qingfu Zhang,et al.  An Evolutionary Many-Objective Optimization Algorithm Based on Dominance and Decomposition , 2015, IEEE Transactions on Evolutionary Computation.

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

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

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

[18]  Hector J. Levesque,et al.  A New Method for Solving Hard Satisfiability Problems , 1992, AAAI.

[19]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[20]  A. Shamsai,et al.  Multi-objective Optimization , 2017, Encyclopedia of Machine Learning and Data Mining.

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

[22]  Jacques Klein,et al.  Automated and Scalable T-wise Test Case Generation Strategies for Software Product Lines , 2010, 2010 Third International Conference on Software Testing, Verification and Validation.

[23]  Donald W. Loveland,et al.  A machine program for theorem-proving , 2011, CACM.

[24]  Yuren Zhou,et al.  Ranking Vectors by Means of the Dominance Degree Matrix , 2017, IEEE Transactions on Evolutionary Computation.

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

[26]  Krzysztof Czarnecki,et al.  SAT-based analysis of large real-world feature models is easy , 2015, SPLC.

[27]  Eugene Goldberg,et al.  BerkMin: A Fast and Robust Sat-Solver , 2002, Discret. Appl. Math..

[28]  Joao Marques-Silva,et al.  GRASP: A Search Algorithm for Propositional Satisfiability , 1999, IEEE Trans. Computers.

[29]  Yuren Zhou,et al.  A Vector Angle-Based Evolutionary Algorithm for Unconstrained Many-Objective Optimization , 2017, IEEE Transactions on Evolutionary Computation.

[30]  Xin Yao,et al.  Many-Objective Evolutionary Algorithms , 2015, ACM Comput. Surv..

[31]  Jacques Klein,et al.  Assessing Software Product Line Testing Via Model-Based Mutation: An Application to Similarity Testing , 2013, 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation Workshops.

[32]  Armin Biere,et al.  PicoSAT Essentials , 2008, J. Satisf. Boolean Model. Comput..

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

[34]  Kalyanmoy Deb,et al.  An Evolutionary Many-Objective Optimization Algorithm Using Reference-Point Based Nondominated Sorting Approach, Part II: Handling Constraints and Extending to an Adaptive Approach , 2014, IEEE Transactions on Evolutionary Computation.

[35]  F. Wilcoxon Individual Comparisons by Ranking Methods , 1945 .

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

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

[38]  Zbigniew Michalewicz,et al.  Genetic Algorithms + Data Structures = Evolution Programs , 1996, Springer Berlin Heidelberg.

[39]  Enrique Alba,et al.  Exact computation of the expectation surfaces for uniform crossover along with bit-flip mutation , 2014, Theor. Comput. Sci..

[40]  Carlos A. Coello Coello,et al.  Handling multiple objectives with particle swarm optimization , 2004, IEEE Transactions on Evolutionary Computation.

[41]  Shengxiang Yang,et al.  Bi-goal evolution for many-objective optimization problems , 2015, Artif. Intell..

[42]  David Corne,et al.  The Pareto archived evolution strategy: a new baseline algorithm for Pareto multiobjective optimisation , 1999, Proceedings of the 1999 Congress on Evolutionary Computation-CEC99 (Cat. No. 99TH8406).

[43]  Mark Fleischer,et al.  The measure of pareto optima: Applications to multi-objective metaheuristics , 2003 .

[44]  Jin-Kao Hao,et al.  GASAT: A Genetic Local Search Algorithm for the Satisfiability Problem , 2006, Evolutionary Computation.

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

[46]  Qingfu Zhang,et al.  Objective Reduction in Many-Objective Optimization: Linear and Nonlinear Algorithms , 2013, IEEE Transactions on Evolutionary Computation.

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

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

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

[50]  Sharad Malik,et al.  Zchaff2004: An Efficient SAT Solver , 2004, SAT (Selected Papers.

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

[52]  Xin Yao,et al.  Diversity Assessment in Many-Objective Optimization , 2017, IEEE Transactions on Cybernetics.

[53]  Li Zhang,et al.  Optimized feature selection towards functional and non-functional requirements in Software Product Lines , 2015, 2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER).

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

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

[56]  Shaowei Cai,et al.  Faster Implementation for WalkSAT , 2013 .

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

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

[59]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[60]  Uwe Schöning,et al.  Choosing Probability Distributions for Stochastic Local Search and the Role of Make versus Break , 2012, SAT.

[61]  Gary B. Lamont,et al.  Evolutionary Algorithms for Solving Multi-Objective Problems , 2002, Genetic Algorithms and Evolutionary Computation.

[62]  Linda M. Northrop,et al.  Quantifying Product Line Benefits , 2001, PFE.

[63]  Lucas Bradstreet,et al.  A Fast Way of Calculating Exact Hypervolumes , 2012, IEEE Transactions on Evolutionary Computation.

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

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

[66]  Yuren Zhou,et al.  An angle based constrained many-objective evolutionary algorithm , 2017, Applied Intelligence.

[67]  Kalyanmoy Deb,et al.  Multi-objective optimization using evolutionary algorithms , 2001, Wiley-Interscience series in systems and optimization.

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

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

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

[71]  Lalit M. Patnaik,et al.  Genetic algorithms: a survey , 1994, Computer.

[72]  Gary B. Lamont,et al.  Evolutionary Algorithms for Solving Multi-Objective Problems (Genetic and Evolutionary Computation) , 2006 .

[73]  Shengxiang Yang,et al.  Diversity Comparison of Pareto Front Approximations in Many-Objective Optimization , 2014, IEEE Transactions on Cybernetics.

[74]  Xin Yao,et al.  How to Read Many-Objective Solution Sets in Parallel Coordinates [Educational Forum] , 2017, IEEE Computational Intelligence Magazine.

[75]  Marco Laumanns,et al.  SPEA2: Improving the strength pareto evolutionary algorithm , 2001 .

[76]  Qingfu Zhang,et al.  Multiobjective optimization Test Instances for the CEC 2009 Special Session and Competition , 2009 .

[77]  Kaile Su,et al.  CCEHC: An efficient local search algorithm for weighted partial maximum satisfiability , 2017, Artif. Intell..

[78]  Sergio Segura,et al.  SIP: Optimal Product Selection from Feature Models Using Many-Objective Evolutionary Optimization , 2016, ACM Trans. Softw. Eng. Methodol..

[79]  Tai-Hsi Wu,et al.  Solutions for product configuration management: An empirical study , 2005, Artificial Intelligence for Engineering Design, Analysis and Manufacturing.

[80]  Krzysztof Czarnecki,et al.  SMTIBEA: a hybrid multi-objective optimization algorithm for configuring large constrained software product lines , 2019, Software & Systems Modeling.

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

[82]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[83]  Armando Tacchella,et al.  Theory and Applications of Satisfiability Testing , 2003, Lecture Notes in Computer Science.

[84]  R. Storn,et al.  Differential Evolution: A Practical Approach to Global Optimization (Natural Computing Series) , 2005 .

[85]  Ebrahim Bagheri,et al.  Reliability estimation for component-based software product lines , 2014, Canadian Journal of Electrical and Computer Engineering.

[86]  Bart Selman,et al.  Noise Strategies for Improving Local Search , 1994, AAAI.

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

[88]  Jun Sun,et al.  IBED: Combining IBEA and DE for optimal feature selection in software product line engineering , 2016, Appl. Soft Comput..

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

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

[91]  Eduardo Figueiredo,et al.  Heuristic and exact algorithms for product configuration in software product lines , 2017, Int. Trans. Oper. Res..

[92]  Michael de la Maza,et al.  Book review: Genetic Algorithms + Data Structures = Evolution Programs by Zbigniew Michalewicz (Springer-Verlag, 1992) , 1993 .

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

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

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

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

[97]  Klaus Pohl,et al.  A performance comparison of contemporary algorithmic approaches for automated analysis operations on feature models , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

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

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

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

[101]  Hisao Ishibuchi,et al.  Evolutionary many-objective optimization , 2008, 2008 3rd International Workshop on Genetic and Evolving Systems.

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

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

[104]  Yuren Zhou,et al.  An elitism based multi-objective artificial bee colony algorithm , 2015, Eur. J. Oper. Res..

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

[106]  Gary B. Lamont,et al.  Evolutionary algorithms for solving multi-objective problems, Second Edition , 2007, Genetic and evolutionary computation series.