# Reviewing Automated Analysis of Feature Model Solutions for the Product Configuration
## 1 Introduction  
Variability is a system's capacity to be expanded, altered, customized, or configured for use in unique settings [1]. We can tailor or adapt variability intensive systems (VIS) to particular needs in different domains [2, 3]. As [PERSON] et al. [4] highlights, variability has become a key in software systems for the steadily increasing demand for highly customizable products. In software product line engineering (SPLE), variability models such as FMs are primary artifacts for the SPLs' success [5]. Variability modeling specifies all significant and legal combinations of features in a software product line [6]. The manual analysis of variability models is a complicated, tedious, and error-prone task, and the automated analysis of variability models (AAVM) appears to face that issue. For example, [PERSON] et al. [7] present the tool FAMA-OVM for the automated analysis of orthogonal variability models (OVM). Likewise, the works of [8, 9] describe the structure, components, and results improvements in applying a process for the AAVM of OVM. Inthe FM context, the automated analysis of feature models (AAFM) is a current and active research area. As [PERSON] et al. [10] indicated, the AAFM and product configurations have many potential synergies because, in the product reconfiguration in dynamic SPLs, both concepts overlap. An FM configuration describes a valid product if the selection of features satisfies all the FM constraints [11]. Inconsistencies in models imply the presence of errors [12; 13]. The main challenge of fixing variability models' inconsistencies is setting them for all configurations [14]. The consistency of an FM means that it remains well-formed (syntactic consistency) and defines at least one valid product (semantic consistency) [15]. Checking and resolving FM inconsistencies are essential tasks during the product line evolution [16]. Automated tools for inconsistency checking of FM and configuration are critical activities for successful SPLs [17]. A traditional AAFM approach is to convert the Feature Model into logic formulas supportable by reasoning solvers such as CSP and SAT solvers, to define and execute analysis tasks regarding the model information and reasoning analysis on those solvers [18]. This article focuses on AAFM operations for product configuration. [PERSON] et al. [19] in 2010 presented a systematic literature review (SLR) about FM and AAFM operations. Different AAFM proposals exist using various formal approaches such as CSP, SAT, and BDD solvers [20]. The following lines synthesize the state of the art regarding AAFM operations for minimal conflict detection, minimal diagnosis, and the minimal completion of partial product configuration from 2010 to 2019. This chapter has the following organization: first, we present this review's primary method and objectives. Then, we summarize the main discovered results. Product configuration is the activity of designing a product according to a set of requirements and configuration rules [21]. With further details, product configuration systems need the knowledge base regarding the components and combination rules and the customers' requirements for selecting product components (configuration) that match their preferences [22]. A valid product configuration only depends on the selected features in a consistent knowledge base scenario; that is, each valid product results from the composition of component type instances that respect the set of defined combination rules [23]. Product configuration systems require systematically managing all features and composition rules to analyze the feature selection for desired products. Variability models (VMs) describe the different relationships and configuration options for the variability management of software systems in software engineering. Different VMs exist, such as feature models (FMs) and orthogonal variability models (OVMs).