Variability Management in Software Product Lines: A Systematic Review Lianping Chen, Muhammad Ali Babar, Nour Ali Lero, the Irish Software Engineering Research Centre, University of Limerick, Ireland {lianping.chen, malibaba, nour.ali}@lero.ie Abstract Variability Management (VM) in Software Product Line (SPL) is a key activity that usually affects the degree to which a SPL is successful. SPL community has spent huge amount of resources on developing various approaches to dealing with variability related challenges over the last decade. To provide an overview of different aspects of the proposed VM approaches, we carried out a systematic literature review of the papers reporting VM in SPL. This paper presents and discusses the findings from this systematic literature review. The results reveal the chronological backgrounds of various approaches over the history of VM research, and summarize the key issues that drove the evolution of different approaches. This study has also identified several gaps that need to be filled by future efforts in this line of research. Keywords: Software product lines, variability management, systematic reviews 1. Introduction Software Product Line Engineering (SPLE) intends to develop software-intensive systems using platforms and mass customisation [1, 2]. This is achieved through the identification and management of commonalities and variations in a set of systems’ artefacts such as requirements, architectures, components, and test cases. In SPLE, variability provides the required flexibility for product differentiation and diversification. Variability refers to the ability of an artefact to be configured, customized, extended, or changed for use in a specific context [3]. Variability Management (VM) encompasses the activities of explicitly representing variability in software artefacts throughout the lifecycle, managing dependencies among different variabilities, and supporting the instantiations of those variabilities [4]. It involves extremely complex and challenging tasks, which needs to be supported by appropriate approaches, techniques, and tools [4, 5]. Systematically identifying and appropriately managing variabilities among different systems of a family are the key characteristics that distinguish SPLE from other reuse-based software development approaches [5]. Given such a vital role of VM in SPLE, there has been a great deal of research in this area of SPLE. Many diverse approaches have been developed with the basic aim of supporting (or automating) various tasks involved in VM at different stages of a product line’s life. However, there has been no effort to systematically survey the VM approaches reported in the literature in order to understand their evolutionary paths, inter-relationships, and the motivational issues. Hence, we decided to conduct a Systematic Literature Review (SLR) [6] or Systematic Review (SR) of the literature on VM in SPLE in order to summarize the state of the art in VM research. The specific research questions that motivated our study are: What approaches have been proposed for managing variability in software product lines? How has the research on developing VM approaches been evolved? What are the key issues that have drove the evolution of different VM approaches? Previously, there have been a few efforts to survey the literature on VM in Software Product Lines (SPL) [7, 8]. However, these efforts were aimed at studying very concrete elements of VM (i.e., modeling [7] and realization mechanisms [8]). Our research has completely different goals as stated before and we have used a systematic and rigorous approach to identifying and selecting the reviewed primary studies. Our study is based on a systematic search of publications from various data sources and follows a pre-defined protocol during the whole process. None of the previous surveys followed a systematic selection process of the reviewed studies; nor did they focus on revealing the chronology of VM research in SPL over the years. In the rest of the paper, Section 2 describes the research methodology used. Section 3 presents and discusses the results, while Section 4 closes the paper by describing the main conclusions. 2. Research Methodology As we have mentioned, this study has been carried out according to the SR methodology described in [6]. Since recently many published studies have described the methodology, logistics, benefits, and limitations of SRs in software engineering, we only discuss the key aspects of