Search-based product configuration in software product lines - Juliana Alves Pereira (2014)
Software product lines (SPL) is a software engineering method for creating configurable software systems that can be adapted to a variety of requirements. SPL uses feature models to document the commonalities and variabilities of products. The key challenge is to derive a product configuration that satisfies all business and costumer requirements. Customer requirements are usually neglected, although product configuration has already been investigated in the literature. This dissertation presents a search-based approach to tackle the problem of finding the optimal product configuration that maximizes the customer satisfaction. The latter is modeled as an optimization problem. An exact algorithm and a heuristic are proposed to solve the problem and implemented in a prototype tool. Computational experiments showed that the exact algorithm can find the optimal product configuration for real-life instances found in the literature and that the optimality gap of the heuristic is at most 3%.