Towards Software Product Lines Optimization Using Evolutionary Algorithms - Jamil, Muhammad Abid; K Nour, Mohamed; Alhindi, Ahmed Hasan; Awang Abu Bakar, Normi Sham; Arif, Muhammad; Muhammad Aljabri, Tareq (ScienceDirect, 2019)
Software product line (SPL) engineering is a methodology that helps to develop a diversity of software products with minimum costs, less time and high quality by the reuse of core software assets which has been tested. Thus, testing is crucial for successfully deploying SPL. As the product features increases, testing process can be time-consuming. Testing in SPL is regarded as a combinatorial optimization problem. Evolutionary algorithms were reported to provide good results in such class of problems. This research provides a framework to compare the performance of different multi-objective Evolutionary Algorithms in software product line context. We report on the problem encoding, variation operators and different types of algorithms: Indicator Based Evolutionary Algorithm (IBEA), Non-Dominated Sorting Genetic Algorithm II (NSGA-II), Multi-Objective Evolutionary Algorithms based on Decomposition (MOEA/D) and Strength Pareto Evolutionary algorithm II (SPEA-II). The framework will provide preliminary results on different Feature Models (FMs) to measure their feasibility to optimize SPL testing.