<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>On Breaking The Curse of Dimensionality in Reverse Engineering Feature Models</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jean-Marc Davril</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Patrick Heymans</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Guillaume Be´can</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mathieu Acher</string-name>
        </contrib>
      </contrib-group>
      <pub-date>
        <year>2015</year>
      </pub-date>
      <fpage>10</fpage>
      <lpage>11</lpage>
      <abstract>
        <p>Feature models have become one of the most widely used formalism for representing the variability among the products of a product line. The design of a feature model from a set of existing products can help stakeholders communicate on the commonalities and differences between the products, facilitate the adoption of mass customization strategies, or support the definition of the solution space of a product configurator (i.e. the sets of products that will be and will not be offered to the targeted customers). As the manual construction of feature models proves to be a time-consuming and error prone task, researchers have proposed various approaches for automatically deriving feature models from available product data. Existing reverse engineering techniques mostly rely on data mining algorithms that search for frequently occurring patterns between the features of the available product configurations. However, when the number of features is too large, the sparsity among the configurations can reduce the quality of the extracted model. In this paper, we discuss motivations for the development of dimensionality reduction techniques for product lines in order to support the extraction of feature models in the case of high-dimensional product spaces. We use a real world dataset to illustrate the problems arising with high dimensionality and present four research questions to address them.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Feature Models (FMs) have been first introduced for representing
the commonalities among the software systems of a software
product line [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. An FM specifies the features that form the potential
products (also called configurations) of a product line and how these
features can be combined to define specific products. In [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] Berger et
al. survey the adoption of variability modeling techniques in industry
and report that FMs are the most frequently observed notation.
      </p>
      <p>
        Defining an FM over a set of existing configurations can bring
valuable support in the adoption of mass customization strategies.
Tseng and Jiao [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] define mass customization as the process of
“producing goods and services to meet individual customer’s needs with
near mass production efficiency”. A key phase in the development of
a mass customization strategy is the definition of the solution space
that should be offered by the provider [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] - that is, all the product
configurations that should be made available in order to satisfy
customer demand.
      </p>
      <p>
        An FM is a concise representation of the solution space of a
product line. It can be used to engineer mass customization systems, such
as configurators [
        <xref ref-type="bibr" rid="ref5 ref9">5, 9</xref>
        ]. In this case the FM serves as the knowledge
for the configuration system [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. While deriving a configuration
system solely from a set of existing products is not desired in practice,
a reverse engineered FM can be used by stakeholders to collect
valuable insights about the product domain and to assess the fit between
the product line solution space and customer expectations.
Depending on the complexity of the solution space and the richness of the
product domain, the manual construction of an FM can prove to be
time-consuming and prone to errors.
      </p>
      <p>
        For these reason researchers have provided significant
contributions in the development of techniques for automating the extraction
of FMs from sets of existing products specifications (or
configurations) - e.g. see [
        <xref ref-type="bibr" rid="ref1 ref14 ref19 ref2 ref20 ref7">7, 19, 1, 14, 20, 2</xref>
        ]. Existing approaches mostly
rely on logical techniques that search for statistically significant
relationships between the feature values. For instance, if two feature
values never occur together in the configurations, one could infer a
constraint stating that these values exclude each other. Similarly, two
values that frequently occur together can imply a configuration
dependency between the two features.
      </p>
      <p>In this paper, we discuss the pitfalls related to the extraction of
FMs from product configuration data. In particular, we highlight the
limitation of applying logical approaches to high dimensional data
(i.e. when the product space is defined by a very large number of
features). When the number of features grows, logical methods require
an increasing number of available configurations to maintain
statistical significance. This means that while automatic support is desirable
to help practitioners manage high dimensional product space, an FM
extraction process that solely relies on logical techniques does not
cope well with high dimensionality. We argue that, even when a large
volume of configuration data is available, one cannot consistently
assume that a logical pattern extracted from the data should be used
to define the boundaries of the configuration space. It follows that
while it is desirable to support practitioners with logical techniques,
an FM extraction process should also consider available product
domain knowledge. In the following sections, we highlight the need for
formal methods that operate on both logical techniques and
background domain knowledge.</p>
      <p>The remainder of the paper is organised as follows. Section 2
describes feature modeling and prior work related to the synthesis of
FMs. Section 3 illustrates the curse of dimensionality in the context
of the FM synthesis problem with a real world example. In section 4
we elaborate a research plan with four research questions.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Feature Model Synthesis</title>
      <p>An FM is an explicit representation of the underlying variability
among the products of a product line. It defines the set of features
that compose the products and how these features can be combined
into products. An FM can be represented as a tree in which nodes are
features and edges between the features represent hierarchical
relationships (see Figure 1). In the tree hierarchy, each parent-child
decomposition constrains the valid combinations of features that can
be found in product configurations. The FM in Figure 1 shows a
XOR-decomposition for the feature Screen into the features High
definition and Basic (i.e. the two child features form a
XORgroup), which specifies that exactly one of the two child features
has to be included in each configuration. Other usual decomposition
types are OR-groups and Mutex-groups, which respectively define
that when the parent feature is selected, all features, or at most one
feature, must be included. As shown in Figure 1, filled circles and
full circles represent mandatory and optional child features
respectively. It is also possible to define cross-tree constraints such as the
implies relationship in Figure 1.</p>
      <p>An FM is attributed if there are typed attributes associated to its
features. Figure 1 shows an attribute size of type integer under the
feature Screen. Such FMs are referred hereafter as Attributed
Feature Models (AFM).</p>
      <p>
        The semantics of an FM f m, noted [[f m]], is commonly defined
as the sets of products (i.e. the sets of sets of features) that satisfy the
constraints specified by f m [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. Table 2 lists the three valid product
configurations for the sample FM in Figure 1.
      </p>
      <sec id="sec-2-1">
        <title>Phone</title>
      </sec>
      <sec id="sec-2-2">
        <title>Camera</title>
      </sec>
      <sec id="sec-2-3">
        <title>Screen</title>
        <p>size : int
implies</p>
      </sec>
      <sec id="sec-2-4">
        <title>High resolution</title>
        <sec id="sec-2-4-1">
          <title>Camera</title>
          <p>X</p>
        </sec>
        <sec id="sec-2-4-2">
          <title>High resolution</title>
          <p>X
X</p>
        </sec>
      </sec>
      <sec id="sec-2-5">
        <title>Basic</title>
        <sec id="sec-2-5-1">
          <title>Basic</title>
          <p>
            X
The FM synthesis problem consists in the extraction of an FM from
an existing set of products. The synthesis can be decomposed into
two steps. First, a logical formula over the inclusion of features in
products is mined from the set of configurations. Then, an FM is
extracted from the logical formula [
            <xref ref-type="bibr" rid="ref7">7</xref>
            ]. Many different FMs can be
built for the same logical formula [
            <xref ref-type="bibr" rid="ref19">19</xref>
            ]. Therefore, the FM extraction
requires heuristics for guiding the selection of the edges that will
form the tree hierarchy [
            <xref ref-type="bibr" rid="ref19 ref2 ref20 ref8">19, 8, 20, 2</xref>
            ].
          </p>
          <p>The initial set of configurations can be represented as a
configuration matrix, which presents the features that are included in the
existing configurations, as well as the values for the feature attributes.
Table 2 shows a possible initial configuration matrix from which the
FM in Figure 1 could be synthesised.</p>
          <p>
            There are multiple examples of prior work related to the
synthesis of FMs from a logical formula, or from sets of formally defined
configurations [
            <xref ref-type="bibr" rid="ref1 ref14 ref19 ref20 ref7">7, 19, 1, 14, 20</xref>
            ]. A major challenge in the synthesis
          </p>
        </sec>
        <sec id="sec-2-5-2">
          <title>Camera</title>
          <p>X
X</p>
        </sec>
        <sec id="sec-2-5-3">
          <title>High resolution</title>
          <p>X
X
X</p>
        </sec>
        <sec id="sec-2-5-4">
          <title>Basic</title>
          <p>
            X
of FMs is the elicitation of the FM hierarchy. She et al. [
            <xref ref-type="bibr" rid="ref19">19</xref>
            ] propose
an interactive approach to recommend users with the likely parent
candidates for specific features. In [
            <xref ref-type="bibr" rid="ref8">8</xref>
            ] we proposed to weight edges
between features on the basis of both probabilistic dependencies
between the features and similarity between their textual descriptions.
We then considered the selection of the hierarchy as the computation
of an optimum branching between the features [
            <xref ref-type="bibr" rid="ref21">21</xref>
            ]. The FM
synthesis techniques proposed in [
            <xref ref-type="bibr" rid="ref2">2</xref>
            ] aim at producing FMs that convey a
hierarchy that is conceptually sound w.r.t. ontological aspects. In [
            <xref ref-type="bibr" rid="ref3">3</xref>
            ],
Be´can et al. use domain knowledge to distinguish features from
attributes and propose a procedure to mine AFM.
          </p>
          <p>
            Other works address the extraction of FMs from less structured
artefacts such as textual product descriptions [
            <xref ref-type="bibr" rid="ref11 ref23 ref8">23, 8, 11</xref>
            ].
          </p>
          <p>
            In [
            <xref ref-type="bibr" rid="ref6">6</xref>
            ] Czarnecki et al. use probabilistic logic to formalise the
foundations of Probabilistic Feature Models (PFMs). The authors also
propose an algorithm to build PFMs upon constraints extracted from
sets of configurations. PFMs can contain soft constraints which
express probabilistic dependencies between features.
3
          </p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>The curse of dimensionality</title>
      <p>A machine learning algorithm suffers from the effects of the
socalled curse of dimensionality when it does not scale well with
highdimensional data. For example, performance issues can arise when
the complexity of the algorithm is exponential in the number of
dimensions of the dataset. High dimensionality can also impact the
quality of results when some dimensions of the dataset are not
relevant to the problem to be solved, and thus feed an algorithm with
distracting information. Data are referred to as being high-dimensional
when they are embedded into an high-dimensional space. In the
context of the FM synthesis problem, the data are formed by the existing
product configurations. Consequently, data dimensionality is defined
by the number of features, the number of attributes, and the size of
the domains for the values of these attributes.
3.1</p>
    </sec>
    <sec id="sec-4">
      <title>High dimensionality in FM synthesis</title>
      <p>We now list the variability structures that are commonly mined from
configuration matrices by existing FM synthesis approaches.</p>
      <p>Binary implications: Binary implications indicate dependencies
between the feature or attribute values in the configuration matrix.
Hierarchy: A tree hierarchy is built from the binary implications
between the features. Conceptually, the hierarchy of an FM
organizes the features into different levels of increasing detail. It also
defines that the selection of a child feature in a configuration
always implies the selection of its parent feature.</p>
      <p>Mandatory features: Once the hierarchy has been found, for any
binary implication from a parent feature to one of its child, the
child has to be made mandatory.</p>
      <p>Feature groups: OR-groups, XOR-groups and Mutex-groups
represent how sibling features can be combined together in product
configurations.</p>
      <p>Cross-tree constraints: In addition to the constraints represented
in the feature hierarchy, cross-tree constraints such as requires or
excludes relationships are mined.</p>
      <p>
        In order to illustrate the curse of dimensionality in the context of
the FM synthesis problem, we have applied an AFM synthesis
algorithm to a real world dataset extracted from the Best Buy product
catalog. Best Buy is an American retailer that provides consumer
electronics, and publishes its products data on the web through an API
3. We built configuration matrices for the Best Buy data by merging
extracted sets of products that have at least 75% of features and
attributes in common. A description of the AFM synthesis algorithm
is out of the scope of this paper and can be found in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>We have considered 242 extracted configuration matrices. Table 3
shows statistics about these matrices. The number of Configurations
is the number of products in the matrix while the number of
Variables is the number of columns (corresponding to features or
attributes). Domain size is the number of distinct values in a column.
The properties of the configuration matrices are quite representative
of high dimensional product spaces. The number of products is low
w.r.t. to the total number of distinct cell values. In our dataset, there
is almost the same number of variables (columns) as configurations;
and in average there are more than 5 values per variable. The
application of the AFM synthesis algorithm to this dataset brings to light
the need for further research efforts as summarised below.</p>
      <p>Configurations
Variables (columns)</p>
      <p>Domain size</p>
      <p>Firstly, the Best Buy configuration matrices contain empty cells.
The average proportion of empty cells in the matrices is 14.4%, and
in the worst case, the proportion is 25.0% The problem with empty
cells is that they do not have a clearly defined semantics in terms of
variability. One might consider that an empty cells translates the
absence of the corresponding feature in the configuration. However it is
unsure whether the feature is really excluded, or if its value is simply
unknown. This uncertainty is important because different
interpretations of empty cells could lead to different synthesised FMs.</p>
      <p>Another concern is the ability to distinguish features from
attributes among the columns of the matrix. As for the empty cells,
different heuristics for this task could result in very different
synthesised FMs. Furthermore, each attribute should be associated to the
appropriate parent feature, and automating the association resolution
becomes harder as the number of features and attributes grows.</p>
      <p>One possible direction for addressing the interpretation of empty
cells and the distinction between features and attributes is to rely on
the specification of domain knowledge by users. This strategy would
require the design of user interactions that prevent users from being
overwhelmed with huge volume of variability information,
notwithstanding the large number of features and attributes in the dataset.</p>
      <p>
        Another important concern is related to constraints. The number
of constraints synthesised from the Best Buy matrices average 237
3 http://developer.bestbuy.com/
with a maximum of 8906. Such large numbers of constraints put
into question the validity of the extracted constraints - that is whether
these are legitimate configuration constraints w.r.t. to restrictions in
the product line domain. When the data is sparse, it can be hard to
evaluate whether the configurations just happened to exhibit the
constraint. Moreover, when the number of constraints is high, many
different FMs that fit the data equally well can be derived from them.
A purely statistical synthesis approach is thus limited as it cannot
be used to assess the quality of the candidate FMs. Therefore, it
would be useful to automatically reduce the number of irrelevant
constraints, or help users assess them. Several approaches can be
considered to determine a readable subset of relevant constraints to
present to users, e.g. prioritization, or minimisation [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ].
      </p>
      <p>Our example does not illustrate the synthesis of PFMs. While the
constraints mined for crisp FMs have a confidence of 100% (i.e. they
cannot be violated by any product), the constraints mined for PFMs
have a confidence above a predefined threshold lower than 100%.
PFMs can be useful to model variability trends among the products.
Similar to the synthesis of FMs, a high dimensional matrix can lead
to the computation of a very large number of constraints with a
confidence above the predefined threshold, and thus make the elicitation
of the PFM structure arduous.
3.2</p>
    </sec>
    <sec id="sec-5">
      <title>Dimensionality reduction</title>
      <p>
        In machine learning, the term dimensionality reduction denotes the
process of reducing the number of attributes to be considered in the
data for a particular task [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Dimensionality reduction techniques
are commonly divided into two categories: feature selection and
feature extraction.
      </p>
      <p>
        In feature selection, a subset of the original data attributes is
selected (see [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]). This typically involves the identification of filtering
criteria on the attributes (filter methods) or the use of the machine
learning algorithm itself for ranking the relevance of the attributes
(wrapper methods). In an FM synthesis process, feature selection
could be achieved by choosing a subset of the features to be
considered during the elicitation of the FM hierarchy. Once an initial
hierarchy would be computed from the core features, the filtered features
could then be appended to it.
      </p>
      <p>Feature extraction consists in defining a projection from the
high-dimensional space of the data to a space of lower dimension. Let
us consider a product line featuring the features length, width
and depth. One could define a mathematical function over the
values of these three features to replace them with a new attribute size,
thus reducing the number of dimensions by mapping three features
to a single one. The intended benefit is to reduce the cognitive effort
when configuring since (1) less configuration variables are presented
to users; (2) the configuration variables abstract details that are
typically technical, making the promise of raising the level of abstraction
for domain analysts or end-users of the engineered configurator.
4</p>
    </sec>
    <sec id="sec-6">
      <title>Research Agenda</title>
      <p>We aim at addressing dimensionality reduction in the synthesis of
FMs in future research. To this end, we state four research questions:
RQ1: How should empty cells in configuration matrices be
interpreted during the FM synthesis? An empty cell can either
represent the absence of a feature (resp. attribute) or translate a
lack of knowledge for the value of a feature (resp. attribute).
Acknowledging different semantics for empty cells can lead to
different synthesis results. It would be interesting to investigate the
use of complementary data, such as product descriptions or user
knowledge, to set these missing values.</p>
      <p>RQ2: How to use background-knowledge in the construction
of FMs? Current synthesis approaches commonly use only data
for constructing FMs. However, when a configuration matrix is
highly dimensional, it is possible to find many different FMs that
fit the data equally well. Some researchers in the machine learning
community have already considered that constructing models only
from observed data is a bad practice, which has been referred to as
data fishing. In order to select the right FM, we believe that
practical synthesis procedures should be guided by existing knowledge
about the application domain of the targeted FM (i.e. background
knowledge). More specifically, background knowledge could be
particularly useful for (1) differentiating the columns of a
configuration matrix into features and attributes, and (2) selecting the
tree hierarchy among the features of the FM.</p>
      <p>RQ3: How to reduce dimensionality by modeling product
qualities? Configuration matrices represent products as sets of
features, which refer to a large number of technical specifications
(e.g. size, weight, battery life). However, customers usually
communicate and reason about the products in terms of different
abstractions we call product qualities (e.g. ease-of-use, portability,
ergonomics). An interesting research direction is the design of
formal methods for augmenting configuration matrices with product
qualities. Projections of qualities onto the technical features could
help define a new configuration space of lower dimensionality.
RQ4: How to assess the quality of extracted FMs? One usually
wants to elicit an FM with a set of specific tasks to solve in mind,
which means that the quality of the FM should be assessed on the
basis of the degree of support it provides w.r.t. these tasks. For
instance, if an FM is extracted from a set of products with the aim of
providing an overview of the underlying variability (domain
analysis task), then the readability and the learnability of the FM are
relevant quality criteria. In the case of the synthesis of an FM to
model a solution space, the conformance of the FM to the
existing products should be evaluated. A framework is thus required to
identify the evaluation criteria of extracted FMs.
5</p>
    </sec>
    <sec id="sec-7">
      <title>Conclusion</title>
      <p>In this paper, we discussed the problems arising during the automatic
synthesis of feature models from high-dimensional configuration
matrices. We first framed concepts well-studied in the machine learning
community, such as the curse of dimensionality and dimensionality
reduction, in the context of the feature model synthesis problem.
Using a real world dataset extracted from the Best Buy website, we then
highlighted the steps in an attributed feature model synthesis process
that require further investigations (e.g., when computing constraints).
We stated research questions related to the application of FM
synthesis algorithms to high dimensional configuration matrices.</p>
      <p>The motivation for enabling domain experts to apply
dimensionality reduction on configuration matrices is to synthesize variability
information that is relevant w.r.t. to the intention of practitioners, and
to produce more useful, readable resulting feature models.
22</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Mathieu</given-names>
            <surname>Acher</surname>
          </string-name>
          , Anthony Cleve, Gilles Perrouin, Patrick Heymans, Charles Vanbeneden, Philippe Collet, and Philippe Lahire, '
          <article-title>On extracting feature models from product descriptions'</article-title>
          ,
          <source>in Sixth International Workshop on Variability Modeling of Software-Intensive Systems. ACM</source>
          , (
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Guillaume</given-names>
            <surname>Be</surname>
          </string-name>
          ´can, Mathieu Acher, Benoit Baudry, and Sana Ben Nasr, '
          <article-title>Breathing ontological knowledge into feature model synthesis: An empirical study'</article-title>
          ,
          <source>Empirical Software Engineering</source>
          ,
          <volume>51</volume>
          , (
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Guillaume</given-names>
            <surname>Be</surname>
          </string-name>
          ´can, Razieh Behjati, Arnaud Gotlieb, and Mathieu Acher, '
          <article-title>Synthesis of attributed feature models from product descriptions'</article-title>
          ,
          <source>in 19th International Software Product Line Conference</source>
          , Nashville,
          <string-name>
            <surname>TN</surname>
          </string-name>
          , USA, (
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Thorsten</given-names>
            <surname>Berger</surname>
          </string-name>
          , Ralf Rublack, Divya Nair,
          <string-name>
            <surname>Joanne M. Atlee</surname>
          </string-name>
          , Martin Becker, Krzysztof Czarnecki, and Andrzej Wsowski, '
          <article-title>A survey of variability modeling in industrial practice'</article-title>
          ,
          <source>in Proceedings of the Seventh International Workshop on Variability Modelling of Software-intensive Systems, VaMoS '13</source>
          , pp.
          <volume>7</volume>
          :
          <fpage>1</fpage>
          -
          <issue>7</issue>
          :
          <fpage>8</fpage>
          , New York, NY, USA, (
          <year>2013</year>
          ). ACM.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Quentin</given-names>
            <surname>Boucher</surname>
          </string-name>
          , Gilles Perrouin, and Patrick Heymans, '
          <article-title>Deriving configuration interfaces from feature models: A vision paper'</article-title>
          ,
          <source>in Proceedings of the Sixth International Workshop on Variability Modeling of Software-Intensive Systems</source>
          , pp.
          <fpage>37</fpage>
          -
          <lpage>44</lpage>
          . ACM, (
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Krzysztof</given-names>
            <surname>Czarnecki</surname>
          </string-name>
          , Steven She, and Andrzej Wasowski, '
          <article-title>Sample spaces and feature models: There and back again'</article-title>
          ,
          <source>in Proceedings of the 12th International Software Product Line Conference</source>
          . IEEE, (
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Krzysztof</given-names>
            <surname>Czarnecki</surname>
          </string-name>
          and Andrzej Wasowski, '
          <article-title>Feature diagrams and logics: There and back again'</article-title>
          ,
          <source>in Proceedings of the 11th International Software Product Line Conference</source>
          ,
          <year>2007</year>
          . SPLC'07. IEEE, (
          <year>2007</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Jean-Marc</surname>
            <given-names>Davril</given-names>
          </string-name>
          , Edouard Delfosse, Negar Hariri, Mathieu Acher, Jane Cleland-Huang, and Patrick Heymans, '
          <article-title>Feature model extraction from large collections of informal product descriptions'</article-title>
          ,
          <source>in Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering. ACM</source>
          , (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Deepak</given-names>
            <surname>Dhungana</surname>
          </string-name>
          , Andreas Falkner, and Alois Haselbock, '
          <article-title>Configuration of cardinality-based feature models using generative constraint satisfaction'</article-title>
          ,
          <source>in Software Engineering and Advanced Applications (SEAA)</source>
          ,
          <year>2011</year>
          37th
          <string-name>
            <surname>EUROMICRO</surname>
          </string-name>
          <article-title>Conference on</article-title>
          . IEEE, (
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Alexander</surname>
            <given-names>Felfernig</given-names>
          </string-name>
          , '
          <article-title>Standardized configuration knowledge representations as technological foundation for mass customization'</article-title>
          ,
          <source>IEEE Transactions on Engineering Management</source>
          ,
          <volume>54</volume>
          (
          <issue>1</issue>
          ),
          <fpage>41</fpage>
          -
          <lpage>56</lpage>
          , (
          <year>2007</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Alessio</surname>
            <given-names>Ferrari</given-names>
          </string-name>
          , Giorgio O Spagnolo,
          <article-title>and Felice Dell'Orletta, 'Mining commonalities and variabilities from natural language documents'</article-title>
          ,
          <source>in Proceedings of the 17th International Software Product Line Conference</source>
          , pp.
          <fpage>116</fpage>
          -
          <lpage>120</lpage>
          . ACM, (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Imola</surname>
            <given-names>K</given-names>
          </string-name>
          <string-name>
            <surname>Fodor</surname>
          </string-name>
          .
          <article-title>A survey of dimension reduction techniques</article-title>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>Isabelle</given-names>
            <surname>Guyon</surname>
          </string-name>
          and Andre´ Elisseeff, '
          <article-title>An introduction to variable and feature selection'</article-title>
          ,
          <source>The Journal of Machine Learning Research</source>
          , (
          <year>2003</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>Evelyn</given-names>
            <surname>Nicole</surname>
          </string-name>
          <string-name>
            <given-names>Haslinger</given-names>
            ,
            <surname>Roberto Erick</surname>
          </string-name>
          Lopez-Herrejon, and Alexander Egyed, '
          <article-title>On extracting feature models from sets of valid feature combinations'</article-title>
          , in Fundamental Approaches to Software Engineering, Springer, (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Kyo</surname>
            <given-names>C Kang</given-names>
          </string-name>
          , Sholom G Cohen,
          <article-title>James A Hess</article-title>
          , William E Novak, and
          <string-name>
            <given-names>A Spencer</given-names>
            <surname>Peterson</surname>
          </string-name>
          , '
          <article-title>Feature-oriented domain analysis (foda) feasibility study'</article-title>
          ,
          <source>Technical report, DTIC Document</source>
          , (
          <year>1990</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>FT</given-names>
            <surname>Piller and P Blazek</surname>
          </string-name>
          , '
          <article-title>Core capabilities of sustainable mass customization', Knowledgebased Configuration-From Research to Business Cases</article-title>
          . Morgan Kaufmann Publishers,
          <fpage>107</fpage>
          -
          <lpage>120</lpage>
          , (
          <year>2014</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>P</given-names>
            <surname>Schobbens</surname>
          </string-name>
          , Patrick Heymans, and
          <string-name>
            <surname>J-C Trigaux</surname>
          </string-name>
          , '
          <article-title>Feature diagrams: A survey and a formal semantics'</article-title>
          ,
          <source>in 14th IEEE international conference on Requirements Engineering</source>
          , pp.
          <fpage>139</fpage>
          -
          <lpage>148</lpage>
          . IEEE, (
          <year>2006</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>J.</given-names>
            <surname>Seng</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>M.and</article-title>
          <string-name>
            <surname>Jiao</surname>
            , 'Mass customization', in Handbook of Industrial Engineering: Technology and
            <given-names>Operations</given-names>
          </string-name>
          <string-name>
            <surname>Management</surname>
          </string-name>
          , Third Edition (ed G. Salvendy), (
          <year>2001</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Steven</surname>
            <given-names>She</given-names>
          </string-name>
          , Rafael Lotufo, Thorsten Berger, Andrzej Wasowski, and Krzysztof Czarnecki, '
          <article-title>Reverse engineering feature models'</article-title>
          ,
          <source>in Proceedings of the 33rd International Conference on Software Engineering (ICSE)</source>
          , pp.
          <fpage>461</fpage>
          -
          <lpage>470</lpage>
          . IEEE, (
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Steven</surname>
            <given-names>She</given-names>
          </string-name>
          , Uwe Ryssel, Nele Andersen, Andrzej Wasowski, and Krzysztof Czarnecki, '
          <article-title>Efficient synthesis of feature models'</article-title>
          ,
          <source>Information and Software Technology</source>
          ,
          <volume>56</volume>
          (
          <issue>9</issue>
          ),
          <fpage>1122</fpage>
          -
          <lpage>1143</lpage>
          , (
          <year>2014</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>Robert</given-names>
            <surname>Endre</surname>
          </string-name>
          <string-name>
            <surname>Tarjan</surname>
          </string-name>
          , 'Finding optimum branchings',
          <source>Networks</source>
          ,
          <volume>7</volume>
          (
          <issue>1</issue>
          ),
          <fpage>25</fpage>
          -
          <lpage>35</lpage>
          , (
          <year>1977</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>Alexander von Rhein</surname>
          </string-name>
          , Alexander Grebhahn, Sven Apel, Norbert Siegmund, Dirk Beyer, and Thorsten Berger, '
          <article-title>Presence-condition simplification in highly configurable systems'</article-title>
          ,
          <source>in Proceedings of the International Conference Software Engineering (ICSE)</source>
          , (
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <surname>Nathan</surname>
            <given-names>Weston</given-names>
          </string-name>
          , Ruzanna Chitchyan, and Awais Rashid, '
          <article-title>A framework for constructing semantically composable feature models from natural language requirements'</article-title>
          ,
          <source>in 13th International Software Product Line Conference</source>
          , pp.
          <fpage>211</fpage>
          -
          <lpage>220</lpage>
          , (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>