Skip to main content

Advertisement

Log in

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

  • Original Research
  • Published:
SN Computer Science Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7

Similar content being viewed by others

Availability of data and material

Dataset is publicly available at https://github.com/aventresque/EvolvingFMs.

Code availability

MILPIBEA publicly available at https://github.com/takfarinassaber/MILPIBEA.

Notes

  1. https://bitbucket.org/tberger/vm2bool.

  2. The dataset is available at https://github.com/aventresque/EvolvingFMs.

References

  1. Ramirez A, Romero JR, Ventura S. A survey of many-objective optimisation in search-based software engineering. J Syst Softw. 2019;149:382–95.

    Article  Google Scholar 

  2. Metzger A, Pohl K. Software product line engineering and variability management: achievements and challenges. FSE. 2014. p. 70–84.

  3. Neto JC, da Silva CH, Colanzi TE, Amaral AMMM. Are MAs profitable to search-based PLA design? IET Softw. 2019;13(6):587–99.

    Article  Google Scholar 

  4. Nair V, Agrawal A, Chen J, Fu W, Mathew G, Menzies T, Minku L, Wagner M, Yu Z. Data-driven search-based software engineering. MSR. 2018. p. 341–52.

  5. Harman M, Jia Y, Krinke J, Langdon WB, Petke J, Zhang Y. Search based software engineering for software product line engineering: a survey and directions for future work. SPLC. 2014. p. 5–18.

  6. Henard C, Papadakis M, Harman M, Le Traon Y. Combining multi-objective search and constraint solving for configuring large software product lines. ICSE. 2015. p. 517–28.

  7. Saber T, Brevet D, Botterweck G, Ventresque A. Milpibea: Algorithm for multi-objective features selection in (evolving) software product lines. EvoCop. 2020. p. 164–79.

  8. Saber T, Brevet D, Botterweck G, Ventresque A. Is seeding a good strategy in multi-objective feature selection when feature models evolve? Inf Softw Technol. 2018;95:266–80.

    Article  Google Scholar 

  9. Pleuss A, Botterweck G, Dhungana D, Polzer A, Kowalewski S. Model-driven support for product line evolution on feature level. J Syst Softw. 2012;85(10):2261–74.

    Article  Google Scholar 

  10. Salcedo-Sanz S. A survey of repair methods used as constraint handling techniques in evolutionary algorithms. Comput Sci Rev. 2009;3(3):175–92.

    Article  Google Scholar 

  11. Ray T, Singh HK, Isaacs A, Smith W. Infeasibility driven evolutionary algorithm for constrained optimization. In: Constraint-handling in evolutionary optimization. Springer 2009;145–165.

  12. Singh HK, Alam K, Ray T. Use of infeasible solutions during constrained evolutionary search: a short survey. ACALC. 2016;I:193–205.

    Google Scholar 

  13. Carvalho ÉC, Bernardino HS, Hallak PH, Lemonge AC. An adaptive penalty scheme to solve constrained structural optimization problems by a craziness based particle swarm optimization. Optimiz Eng. 2017;18(3):693–722.

    Article  MathSciNet  Google Scholar 

  14. Sayyad AS, Goseva-Popstojanova K, Menzies T, Ammar H. On parameter tuning in search based software engineering: a replicated empirical study. RESER. 2013. p. 84–90.

  15. Guo J, Liang JH, Shi K, Yang D, Zhang J, Czarnecki K, Ganesh V, Yu H. SMTIBEA: a hybrid multi-objective optimization algorithm for configuring large constrained software product lines. Softw Syst Model. 2019;18(2):1447–66.

    Article  Google Scholar 

  16. Xue Y, Li YF. Multi-objective integer programming approaches for solving optimal feature selection problem: a new perspective on multi-objective optimization problems in SBSE. ICSE. 2018. p. 1231–42.

  17. Sayyad AS, Menzies T, Ammar H. On the value of user preferences in search-based software engineering: a case study in software product lines. ICSE. 2013. p. 492–501.

  18. Berger T, She S, Lotufo R, Wasowski A, Czarnecki K. A study of variability models and languages in the systems software domain. IEEE Trans Softw Eng. 2013;39(12):1611–40. https://doi.org/10.1109/TSE.2013.34.

    Article  Google Scholar 

  19. Fonseca CM, Paquete L, López-Ibánez M. An improved dimension-sweep algorithm for the hypervolume indicator. CEC. 2006. p. 1157–63.

  20. Saber T, Thorburn J, Murphy L, Ventresque A. VM reassignment in hybrid clouds for large decentralised companies: a multi-objective challenge. Fut Gener Comput Syst. 2018;79:751–64.

    Article  Google Scholar 

  21. Saber T, Gandibleux X, O’Neill M, Murphy L, Ventresque A. A comparative study of multi-objective machine reassignment algorithms for data centres. J Heuristics. 2020;26(1):119–50. https://doi.org/10.1007/s10732-019-09427-8.

    Article  Google Scholar 

  22. Brevet D, Saber T, Botterweck G, Ventresque A. Preliminary study of multi-objective features selection for evolving software product lines. Symposium on search based software engineering 2016.

  23. Shi K, Yu H, Fan G, Guo J, Chen L, Yang X, Sun H. Mutation with local searching and elite inheritance mechanism in multi-objective optimization algorithm: a case study in software product line. Int J Software Eng Knowl Eng. 2019;29(09):1347–78.

    Article  Google Scholar 

  24. Saber T, Delavernhe F, Papadakis M, O’Neill M, Ventresque A. A hybrid algorithm for multi-objective test case selection. CEC. 2018. p. 1–8.

Download references

Acknowledgements

This work was supported with the financial support of the Science Foundation Ireland Grant 13/RC/2094_P2 and co-funded under the European Regional Development Fund through the Southern and Eastern Regional Operational Programme to Lero - the Science Foundation Ireland Research Centre for Software (www.lero.ie).

Author information

Authors and Affiliations

Authors

Contributions

Conceptualisation and Discussion: TS, DB. GB and AV. Data preparation: TS, DB, and AV. Experiments: TS, DB, and AV. Writing original draft: TS, DB, GB, and AV. All authors have read and agreed to the published version of the manuscript.

Corresponding author

Correspondence to Takfarinas Saber.

Ethics declarations

Conflict of interest

The authors declare that they have no conflict of interest.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

This article is part of the topical collection “Evolution, the New AI Revolution” guest edited by Anikó Ekárt and Anna Isabel Esparcia-Alcázar.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Saber, T., Brevet, D., Botterweck, G. et al. Reparation in Evolutionary Algorithms for Multi-objective Feature Selection in Large Software Product Lines. SN COMPUT. SCI. 2, 138 (2021). https://doi.org/10.1007/s42979-021-00541-8

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s42979-021-00541-8

Keywords

Navigation