journal article·2023-08-06Open access

Software Product Line Maintenance Using Multi-Objective Optimization Techniques

Muhammad Abid Jamil, Mohamed K. Nour, Saud S. Alotaibi, Mohammad Jabed Hussain, Syed Mutiullah Hussaini, Atif Naseer

Applied Sciences· Volume 13· Issue 15

Abstract

Currently, software development is more associated with families of configurable software than the single implementation of a product. Due to the numerous possible combinations in a software product line, testing these families of software product lines (SPLs) is a difficult undertaking. Moreover, the presence of optional features makes the testing of SPLs impractical. Several features are presented in SPLs, but due to the environment’s time and financial constraints, these features are rendered unfeasible. Thus, testing subsets of configured products is one approach to solving this issue. To reduce the testing effort and obtain better results, alternative methods for testing SPLs are required, such as the combinatorial interaction testing (CIT) technique. Unfortunately, the CIT method produces unscalable solutions for large SPLs with excessive constraints. The CIT method costs more because of feature combinations. The optimization of the various conflicting testing objectives, such as reducing the cost and configuration number, should also be considered. In this article, we proposed a search-based software engineering solution using multi-objective evolutionary algorithms (MOEAs). In particular, the research was applied to different types of MOEA method: the Indicator-Based Evolutionary Algorithm (IBEA), Multi-objective Evolutionary Algorithm based on Decomposition (MOEA/D), Non-dominant Sorting Genetic Algorithm II (NSGAII), NSGAIII, and Strength Pareto Evolutionary Algorithm 2 (SPEA2). The results of the algorithms were examined in the context of distinct objectives and two quality indicators. The results revealed how the feature model attributes, implementation context, and number of objectives affected the performances of the algorithms.
Source: crossref · Quality: baseline

Research context

OpenAlex topics: Advanced Software Engineering Methodologies · Software Reliability and Analysis Research · Software Engineering Research

SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.

Affiliations

Department of Computer Science, College of Computers and Information Systems, Umm Al Qura University, Makkah 21955, Saudi Arabia

Department of Information Systems, College of Computers and Information Systems, Umm Al Qura University, Makkah 21955, Saudi Arabia

Science and Technology Unit, Umm Al Qura University, Makkah 21955, Saudi Arabia

Funding

Deputyship for Research & Innovation, Ministry of Education in Saudi Arabia

References (69)

Show source-provided references
1. Search-based software engineering: Trends, techniques and applications10.1145/2379776.2379787 ↗
2. An extensive evaluation of search-based software testing: A review10.1007/s00500-017-2906-y ↗
3. Software product line testing–a systematic mapping study10.1016/j.infsof.2010.05.011 ↗
4. Varshosaz, M., Al-Hajjaji, M., Thüm, T., Runge, T., Mousavi, M.R., and Schaefer, I. (2018, January 10–14). A classification of product sampling for software product lines. Proceedings of the 22nd International Systems and Software Product Line Conference, Gothenburg, Sweden.10.1145/3233027.3233035 ↗
5. Cawley, C., Botterweck, G., Healy, P., Abid, S.B., and Thiel, S. (2009). International Symposium on Visual Computing, Springer.
6. Hotz, L., Wolter, K., and Krebs, T. (2006). Configuration in Industrial Product Families: The ConIPF Methodology, IOS Press.
7. Cawley, C., Thiel, S., Botterweck, G., and Nestor, D. (2009, January 28–30). Visualising Inter-Model Relationships in Software Product Lines. Proceedings of the Third International Workshop on Variability Modelling of Software-Intensive Systems, Seville, Spain.
8. Regression testing in software product line engineering10.1016/B978-0-12-396535-6.00007-7 ↗
9. Mendonca, M., Branco, M., and Cowan, D. (2009, January 25–29). SPLOT: Software product lines online tools. Proceedings of the 24th ACM SIGPLAN Conference Companion on Object Oriented Programming Systems Languages and Applications, Orlando, FL, USA.
10. Pohl, K., Böckle, G., and Van Der Linden, F. (2005). Software Product Line Engineering: Foundations, Principles, and Techniques, Springer.10.1007/3-540-28901-1 ↗
11. Initiating software product lines10.1109/MS.2002.1020282 ↗
12. Trigaux, J.C., and Heymans, P. (2003). Product Line ENgineering of Food TraceabilitY Software, FUNDP-Equipe LIEL.
13. Buchmann, T., and Schwägerl, F. (2016, January 27–28). Advancing negative variability in model-driven software product line engineering. Proceedings of the Evaluation of Novel Approaches to Software Engineering: 11th International Conference, ENASE 2016, Rome, Italy.10.1007/978-3-319-56390-9_1 ↗
14. Al-Hajjaji, M., Lity, S., Lachmann, R., Thüm, T., Schaefer, I., and Saake, G. (2017, January 27). Delta-oriented product prioritization for similarity-based product-line testing. Proceedings of the 2017 IEEE/ACM 2nd International Workshop on Variability and Complexity in Software Design (VACE), Buenos Aires, Argentina.10.1109/VACE.2017.8 ↗
15. Effective product-line testing using similarity-based product prioritization10.1007/s10270-016-0569-2 ↗
16. Genetic algorithm-based test generation for software product line with the integration of fault localization techniques10.1007/s10664-016-9494-9 ↗
17. Mutation operators for feature-oriented software product lines10.1002/stvr.1676 ↗
18. Retest test selection for product-line regression testing of variants and versions of variants10.1016/j.jss.2018.09.090 ↗
19. SMTIBEA: A hybrid multi-objective optimization algorithm for configuring large constrained software product lines10.1007/s10270-017-0610-0 ↗
20. Software product line test list generation based on harmony search algorithm with constraints support
21. Al-Hajjaji, M., Ryssel, U., and Schulze, M. (2019, January 6–8). Validating Partial Configurations of Product Lines. Proceedings of the 13th International Workshop on Variability Modelling of Software-Intensive Systems, Leuven, Belgium.10.1145/3302333.3302337 ↗
22. Wang, S., Ali, S., and Gotlieb, A. (2013, January 6–10). Minimizing test suites in software product lines using weight-based genetic algorithms. Proceedings of the 15th Annual Conference on Genetic and Evolutionary Computation, Amsterdam, The Netherlands.10.1145/2463372.2463545 ↗
23. Wang, S., Buchmann, D., Ali, S., Gotlieb, A., Pradhan, D., and Liaaen, M. (2014, January 15–19). Multi-objective test prioritization in software product line testing: An industrial case study. Proceedings of the 18th International Software Product Line Conference, Florence, Italy.10.1145/2648511.2648515 ↗
24. Ensan, F., Bagheri, E., and Gašević, D. (2012). Advanced Information Systems Engineering: Proceedings of the 24th International Conference, CAiSE 2012, Gdansk, Poland, 25–29 June 2012, Springer. Proceedings 24.
25. Henard, C., Papadakis, M., Perrouin, G., Klein, J., and Traon, Y.L. (2013, January 26–30). Multi-objective test generation for software product lines. Proceedings of the 17th International Software Product Line Conference, Tokyo, Japan.10.1145/2491627.2491635 ↗
26. Matnei Filho, R.A., and Vergilio, S.R. (2015, January 21–26). A mutation and multi-objective test data generation approach for feature testing of software product lines. Proceedings of the 2015 29th Brazilian Symposium on Software Engineering, Belo Horizonte, Brazil.10.1109/SBES.2015.17 ↗
27. Henard, C. (2015). Enabling Testing of Large Scale Highly Configurable Systems with Search-Based Software Engineering: The Case of Model-Based Software Product Lines. [Doctoral Dissertation, University of Luxembourg].
28. Olaechea, R., Rayside, D., Guo, J., and Czarnecki, K. (2019, January 9–13). Comparison of exact and approximate multi-objective optimization for software product lines. Proceedings of the 18th International Software Product Line Conference, Paris, France.
29. Sayyad, A.S., Menzies, T., and Ammar, H. (2013, January 18–26). On the value of user preferences in search-based software engineering: A case study in software product lines. Proceedings of the 2013 35th International Conference on Software Engineering (ICSE), San Francisco, CA, USA.10.1109/ICSE.2013.6606595 ↗
30. Diaz, J., Perez, J., Fernandez-Sanchez, C., and Garbajosa, J. (2013, January 4–6). Model-to-code transformation from product-line architecture models to aspectj. Proceedings of the 2013 39th Euromicro Conference on Software Engineering and Advanced Applications, Santander, Spain.10.1109/SEAA.2013.11 ↗
31. Karimpour, R., and Ruhe, G. (2013, January 20). Bi-criteria genetic search for adding new features into an existing product line. Proceedings of the 2013 1st International Workshop on Combining Modelling and Search-Based Software Engineering (CMSBSE), San Francisco, CA, USA.10.1109/CMSBSE.2013.6604434 ↗
32. Cruz, J., Neto, P.S., Britto, R., Rabelo, R., Ayala, W., Soares, T., and Mota, M. (2013, January 20–23). Toward a hybrid approach to generate software product line portfolios. Proceedings of the 2013 IEEE Congress on Evolutionary Computation, Cancun, Mexico.10.1109/CEC.2013.6557834 ↗
33. A genetic algorithm for optimized feature selection with resource constraints in software product lines10.1016/j.jss.2011.06.026 ↗
34. Pereira, J.A., Figueiredo, E., and Noronha, T. (, 2013). Modelo computacional para apoiar a configuração de produtos em linha de produtos de software. Proceedings of the V Workshop de Engenharia de Software Baseada em Busca (WESB). Congresso Brasileiro de Desenvolvimento de Software (CBSoft), Brasilia, Brazil.
35. Evolving feature model configurations in software product lines10.1016/j.jss.2013.10.010 ↗
36. Li, J., Liu, X., Wang, Y., and Guo, J. (2012). Practical Applications of Intelligent Systems: Proceedings of the Sixth International Conference on Intelligent Systems and Knowledge Engineering, Shanghai, China, 15–17 Decemeber 2011, Springer.
37. Sayyad, A.S., Goseva-Popstojanova, K., Menzies, T., and Ammar, H. (2013, January 9). On parameter tuning in search based software engineering: A replicated empirical study. Proceedings of the 2013 3rd International Workshop on Replication in Empirical Software Engineering Research, Baltimore, MD, USA.10.1109/RESER.2013.6 ↗
38. Sayyad, A.S., Ingram, J., Menzies, T., and Ammar, H. (2013, January 20). Optimum feature selection in software product lines: Let your model and values guide your search. Proceedings of the 2013 1st International Workshop on Combining Modelling and Search-Based Software Engineering (CMSBSE), San Francisco, CA, USA.10.1109/CMSBSE.2013.6604432 ↗
39. Lopez-Herrejon, R.E., Chicano, F., Ferrer, J., Egyed, A., and Alba, E. (2013, January 22–28). Multi-objective optimal test suite computation for software product line pairwise testing. Proceedings of the 2013 IEEE International Conference on Software Maintenance, Eindhoven, The Netherlands.10.1109/ICSM.2013.58 ↗
40. Bypassing the combinatorial explosion: Using similarity to generate and prioritize t-wise test configurations for software product lines10.1109/TSE.2014.2327020 ↗
41. Johansen, M.F., Haugen, Ø., and Fleurey, F. (2011, January 16–21). Properties of realistic feature models make combinatorial testing of product lines feasible. Model Driven Engineering Languages and Systems: Proceedings of the 14th International Conference, MODELS 2011, Wellington, New Zealand. Proceedings 14.
42. Mendonca, M., Wąsowski, A., and Czarnecki, K. (2009, January 24–28). SAT-based analysis of feature models is easy. Proceedings of the 13th International Software Product Line Conference, San Francisco, CA, USA.
43. Oster, S., Markert, F., and Ritter, P. (2010). Software Product Lines: Going Beyond: Proceedings of the 14th International Conference, SPLC 2010, Jeju Island, Republic of Korea, 13–17 September 2010, Springer. Proceedings 14.
44. Pairwise testing for software product lines: Comparison of two approaches10.1007/s11219-011-9160-9 ↗
45. An approach to recover feature models from object-oriented source code
46. Towards Software Product Lines Optimization Using Evolutionary Algorithms10.1016/j.procs.2019.12.135 ↗
47. Indicator-based selection in multiobjective search10.1007/978-3-540-30217-9_84 ↗
48. MOEA/D: A multiobjective evolutionary algorithm based on decomposition10.1109/TEVC.2007.892759 ↗
49. A fast and elitist multiobjective genetic algorithm: NSGA-II10.1109/4235.996017 ↗
50. An evolutionary many-objective optimization algorithm using reference-point-based nondominated sorting approach, part I: Solving problems with box constraints10.1109/TEVC.2013.2281535 ↗
51. Zitzler, E., Laumanns, M., and Thiele, L. (2001). SPEA2: Improving the Strength Pareto Evolutionary Algorithm, ETH Zurich, Computer Engineering and Networks Laboratory. TIK Report.
52. Hadka, D. (2014). MOEA Framework User Guide: A Free and Open Source Java Framework for Multiobjective Optimization, Free Software Foundation. Version 2.
53. Vilfredo Pareto and multi-objective optimization
54. A study on the use of non-parametric tests for analyzing the evolutionary algorithms’ behaviour: A case study on the CEC’2005 special session on real parameter optimization10.1007/s10732-008-9080-4 ↗
55. Performance assessment of multiobjective optimizers: An analysis and review10.1109/TEVC.2003.810758 ↗
56. Zitzler, E., Brockhoff, D., and Thiele, L. (2007). Evolutionary Multi-Criterion Optimization: Proceedings of the 4th International Conference, EMO 2007, Matsushima, Japan, 5–8 March 2007, Springer. Proceedings 4.
57. Schott, J.R. (1995). Fault Tolerant Design Using Single and Multicriteria Genetic Algorithm Optimization, Air Force Institute of Technology. Available online: https://hdl.handle.net/1721.1/11582.
58. Yoo, S., and Harman, M. (2007, January 9–12). Pareto efficient multi-objective test case selection. Proceedings of the 2007 International Symposium on Software Testing and Analysis, London, UK.10.1145/1273463.1273483 ↗
59. Arcuri, A., and Briand, L. (2011, January 21–28). A practical guide for using statistical tests to assess randomized algorithms in software engineering. Proceedings of the 33rd International Conference on Software Engineering, Honolulu, HI, USA.10.1145/1985793.1985795 ↗
60. An Experimental Study of a Fuzzy Adaptive Emperor Penguin Optimizer for Global Optimization Problem10.1109/ACCESS.2022.3213805 ↗
61. Stochastic process and tutorial of the African buffalo optimization10.1038/s41598-022-22242-9 ↗
62. Generating t-way test suite in the presence of constraints
63. Comparative benchmarking of constraints t-way test generation strategy based on late acceptance hill climbing algorithm
64. Zamli, K.Z., Mohd Hassin, M.H., and Al-Kazemi, B. (2014, January 22–24). tReductSA–Test Redundancy Reduction Strategy Based on Simulated Annealing. Intelligent Software Methodologies, Tools and Techniques: Proceedings of the 13th International Conference, SoMeT 2014, Langkawi, Malaysia. Revised Selected Papers 13.
65. An optimized steganography hiding capacity and imperceptibly using genetic algorithms10.1109/ACCESS.2019.2941440 ↗
66. Optimizing Training Data Selection for Decision Trees using Genetic Algorithms
67. Needs and importance of reliability prediction: An industrial perspective10.18576/isl/090105 ↗
68. Predicting software bugs of newly and large datasets through a unified neuro-fuzzy approach: Reliability perspective10.37418/amsj.10.1.54 ↗
69. Soft computing approach for prediction of software reliability