Reparation in Evolutionary Algorithms for Multi-objective Feature Selection in Large Software Product Lines

Software Product Lines Engineering is the area of software engineering that aims to systematise the modelling, creation and improvement of groups of interconnected software systems by formally expressing possible alternative products in the form of Feature Models. Deriving a software product/system from a feature model is called Feature Configuration. Engineers select the subset of features (software components) from a feature model that suits their needs, while respecting the underlying relationships/constraints of the system–which is challenging on its own. Since there exist several (and often antagonistic) perspectives on which the quality of software could be assessed, the problem is even more challenging as it becomes a multi-objective optimisation problem. Current multi-objective feature selection in software product line approaches (e.g., SATIBEA) combine the scalability of a genetic algorithm (IBEA) with a solution reparation approach based on a SAT solver or one of its derivatives. In this paper, we propose MILPIBEA, a novel hybrid algorithm which combines IBEA with the accuracy of a mixed-integer linear programming (MILP) reparation. We show that the MILP reparation modifies fewer features from the original infeasible solutions than the SAT reparation and in a shorter time. We also demonstrate that MILPIBEA outperforms SATIBEA on average on various multi-objective performance metrics, especially on the largest feature models. The other major challenge in software engineering in general and in software product lines, in particular, is evolution. While the change in software components is common in the software engineering industry, the particular case of multi-objective optimisation of evolving software product lines is not well-tackled yet. We show that MILPIBEA is not only able to better take advantage of the evolution than SATIBEA, but it is also the one that continues to improve the quality of the solutions when SATIBEA stagnates. Overall, IBEA performs better when combined with MILP instead of SAT reparation when optimising the multi-objective feature selection in large and evolving software product lines.

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

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

[3]  Michael O'Neill,et al.  A comparative study of multi-objective machine reassignment algorithms for data centres , 2020, J. Heuristics.

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

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

[6]  Liam Murphy,et al.  VM reassignment in hybrid clouds for large decentralised companies: A multi-objective challenge , 2018, Future Gener. Comput. Syst..

[7]  Anthony Ventresque,et al.  MILPIBEA: Algorithm for Multi-objective Features Selection in (Evolving) Software Product Lines , 2020, EvoCOP.

[8]  Carlos M. Fonseca,et al.  An Improved Dimension-Sweep Algorithm for the Hypervolume Indicator , 2006, 2006 IEEE International Conference on Evolutionary Computation.

[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]  Tapabrata Ray,et al.  Infeasibility Driven Evolutionary Algorithm for Constrained Optimization , 2009 .

[11]  Thelma Elita Colanzi,et al.  Are MAs profitable to search-based PLA design? , 2019, IET Softw..

[12]  Afonso C. C. Lemonge,et al.  An adaptive penalty scheme to solve constrained structural optimization problems by a Craziness based Particle Swarm Optimization , 2017 .

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

[14]  Michael O'Neill,et al.  A Hybrid Algorithm for Multi-Objective Test Case Selection , 2018, 2018 IEEE Congress on Evolutionary Computation (CEC).

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

[16]  Tapabrata Ray,et al.  Use of Infeasible Solutions During Constrained Evolutionary Search: A Short Survey , 2016, ACALCI.

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

[18]  Anthony Ventresque,et al.  Is seeding a good strategy in multi-objective feature selection when feature models evolve? , 2017, Inf. Softw. Technol..

[19]  Guisheng Fan,et al.  Mutation with Local Searching and Elite Inheritance Mechanism in Multi-Objective Optimization Algorithm: A Case Study in Software Product Line , 2019, Int. J. Softw. Eng. Knowl. Eng..

[20]  Markus Wagner,et al.  Data-Driven Search-Based Software Engineering , 2018, 2018 IEEE/ACM 15th International Conference on Mining Software Repositories (MSR).

[21]  Sancho Salcedo-Sanz,et al.  A survey of repair methods used as constraint handling techniques in evolutionary algorithms , 2009, Comput. Sci. Rev..

[22]  Yan-Fu Li,et al.  Multi-objective Integer Programming Approaches for Solving Optimal Feature Selection Problem: A New Perspective on Multi-objective Optimization Problems in SBSE , 2018, 2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE).

[23]  Sebastián Ventura,et al.  A survey of many-objective optimisation in search-based software engineering , 2019, J. Syst. Softw..

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