# Reasoning Algorithms on Feature Modeling--A Systematic Mapping Study
## 1 Introduction  
Today software customers are demanding new and better products and services, which has forced the software industry to devise new approaches that increase the productivity of their processes and the quality of their products. For some time now, researchers in the field of _software engineering_ have studied various alternatives for software development; among these is the software product lines (SPLs) approach. There are several differences between traditional single-system development and SPLs. The main difference is a paradigm change from individual software systems to a product line (also known as a family product) approach. According to [1], adopting this new paradigm implies a change in strategy: from the ad hoc next-contract vision to a strategic view of a field of business. SPLs are defined as a set of characteristics to satisfy the specific needs of a particular market segment [2]. The use of SPLs as a software development methodology provides a set of benefits, including a reduction in development times and increases in productivity, among others [2, 3]. Furthermore, [PERSON] et al. argue that these improvements significantly affect the development process, particularly in relation to costs and time to market, but it is at the level of software reuse that it is possible to achieve unprecedented levels of reuse [1]. SPL development is based on a common set of fundamental elements: an architecture, a collection of software components, and a set of products [4]. One of the key concepts is variability, which provides SPLs with the flexibility required for product diversification and differentiation [5]. Variability refers to combining the different functionalities that each component gives to the LPS, and this can be represented graphically using variabilitymodels. Nowadays, there are various methods of representing the variability in an LPS; however, feature models (FMs) are the most widely used method [6]. SPLs and variability are currently a fully active research area, showing their validity and relevance in the software engineering community. This relevance can be seen in a series of tertiary studies, i.e., studies that identify how variability is modeled [7]. Additionally, we can see how SPL engineering and variability management has been applied along with the Internet of Things [8]. Building and maintaining an FM is considered an expensive and error-prone task [9; 10]. Moreover, the evolution and changes in the FM can introduce redundancy into the models, leading to the information being modeled in a contradictory way, resulting in modeling errors [11; 12]. Throughout the SPL framework, starting from the creation of the FMs, the validation of the SPLs, the derivation of products, and even the modification or extension of the product family, it is essential to consult the FMs to obtain relevant information on the processes mentioned above. However, providing answers to these queries is not trivial because, given the structure of FMs, this process requires algorithms that support a set of rules and constraints that tend to be more complex depending on the model's size. As we can see, the information we can obtain from FMs is extensive. This process of securing information is known as the _automated analysis_ of _feature models_(AAFM), and it has been identified as one of the most critical areas in the SPL community [13]. According to [14], it is possible to propose ad hoc algorithms to perform AAFM. In this study we aimed to account for and synthesize the current state of the reported scientific literature about the use of reasoning algorithms in FMs, as implemented in the stages and activities that comprise the SPL framework. We conducted a systematic mapping study (SMS) to identify a set of relevant papers that could help us answer the research questions (RQs). In this SMS, we aimed to collect the evidence present in the literature from the last ten years.