<!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>Patterns for Identifying and Structuring Features from Textual Descriptions: An Exploratory Study</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Nili Itzik</string-name>
          <email>nitzik@campus.haifa.ac.il</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Iris Reinhartz-Berger</string-name>
          <email>iris@is.haifa.ac.il</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Information Systems, University of Haifa</institution>
          ,
          <country country="IL">Israel</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Software Product Line Engineering (SPLE) supports developing and managing families of similar software products, termed Software Product Lines (SPLs). An essential SPLE activity is variability modeling which aims at representing the differences among the SPL's members. This is commonly done with feature diagrams - graph structures specifying the user visible characteristics of SPL's members and the dependencies among them. Despite the attention that feature diagrams attract, the identification of features and structuring them into feature diagrams remain challenging. In this study, we utilized Natural Language Processing (NLP) techniques in order to explore different patterns for identifying and structuring features from textual descriptions. Such a catalog of patterns is important for both manually-created and automatically-generated feature diagrams.</p>
      </abstract>
      <kwd-group>
        <kwd>Variability Analysis</kwd>
        <kwd>Feature Diagrams</kwd>
        <kwd>Natural Language Processing</kwd>
        <kwd>Empirical Evaluation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Software Product Line Engineering (SPLE) supports developing and managing
similar software products (SPLs) [‎14]. SPLE has been proven to be successful in
reduction of development cost, time-to-market and improvement of product's quality [‎12].
Variability modeling is a crucial activity for identifying and documenting the precise
differences among the SPL’s members for effective and efficient development and
management of the entire SPL. Feature diagrams [‎3], which are commonly the
outcomes of the variability modeling activity, are graph (or tree) structures that describe
“features” of a SPL and the relationships and dependencies among them [‎9]. A
“feature” can be defined as "a prominent or distinctive user-visible aspect, quality, or
characteristic of a software system or systems" [‎9].</p>
      <p>Variability models in general and feature diagrams in particular are created either
manually by humans or automatically utilizing methods such as [‎2], [‎4], [‎15], [‎18].
Being manually or automatically created, the identification and structuring of features
are important for the comprehensibility of the models. In this study we explored
different semantic patterns to create feature diagrams from textual descriptions. The
descriptions were short and focused on the (visible) behaviors of the SPLs’ members.
We further grounded these patterns utilizing Natural Language Processing (NLP)
techniques and proposed guidelines for their use. Thus, the contribution of the work is
two-fold. First, the patterns provide guidelines for modelers who create feature
diagrams as to how to identify and structure features. Second, the patterns may be the
basis for flexible automatic feature extraction processes.</p>
      <p>The rest of the paper is structured as follows. Section ‎2 briefly reviews related
work. Section ‎3 describes the study’s settings and execution, while Section ‎4 presents
the patterns extraction process and outcomes. Section ‎5 discusses the findings and
refers to limitations. Finally, Section ‎6 concludes and suggests future directions.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>As noted, feature diagrams can be created manually or automatically from text. Only
a few studies suggest guidelines for (manually) creating feature diagrams. In [‎10]
guidelines for identifying features and classifying them according to the types of
information they represent are suggested. The four classes of features are: capability,
operating environment, domain technology, and implementation technique.
Organization of the features into diagrams is then done by analyzing the relations between
these classes of features. In [‎11] further guidelines have been suggested for domain
planning, feature identification, feature organization, and feature refinement. For
example, it is recommended not to “organize features to represent functional
dependencies,” but to “capture and represent commonalities and differences.”</p>
      <p>Studies that use textual descriptions for automatically (or semi-automatically)
identifying and extracting features relay on syntactic patterns, utilizing different
parts-ofspeech (POS). Examples of such studies are [‎2], [‎4], [‎5], [‎7], [‎13], [‎18]. They mainly
use nouns and verbs for this purpose. Some of them suggest structuring the features
using different clustering algorithms. In [‎8], an automatic Semantic and Ontological
Variability Analysis (SOVA) method is suggested to construct feature diagrams based
on behavioral similarity and variability. The input textual descriptions are parsed
according to the semantic roles of the phrases in the sentences and the behavioral
elements are extracted utilizing an ontological model. Then the semantic similarity
between the behavioral elements is used for creating feature diagrams.</p>
      <p>There are also studies that generate features diagrams from feature configurations
using refactoring techniques, e.g., [‎1] and [‎16]. In these studies the inputs are some
structured or formal representations (such as, propositional formulas or feature lists
and dependencies). Identification of features is not needed, as the features are already
given. Organization of features into diagrams is done by analyzing implication
graphs, which are directed graphs with features as vertices and edges that represent
dependencies between features.</p>
      <p>To summarize, existing studies provide some general guidelines for creating
feature diagrams. Others extract features using specific, pre-defined syntactic or
grammatical patterns. The organization of features into diagrams in those studies is done
using transformation rules or clustering algorithms, without referring to the extracted
features characteristics (e.g., their POS). In our study, we explored the various
semantic patterns that can represent features, as well as the relations among them.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Study’s Settings and Execution</title>
      <p>In order to explore the various ways modelers extract features from textual
descriptions and organize them into feature diagrams, we developed a questionnaire with
eight short paragraphs. Each paragraph described a SPL including information on the
applications’ behaviors and the allowed variability in the SPL. The task was to
present for each description a feature diagram that resembles the description1.</p>
      <p>The participants in this study were 11 information systems students at the
University of Haifa, Israel. Those students participated in an advanced software engineering
course that was devoted to SPLE. The descriptions referred to application domains
expected to be familiar to students: e-shop, library management, photo sharing, and
text editing. Overall we received 78 feature diagrams from the eleven participants, as
a few participants answered the questionnaire partially.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Outcomes: Feature Patterns and their Relations</title>
      <p>Looking at the obtained feature diagrams, we observed that the participants used
various linguistic and semantic parts of the original descriptions when naming the
features. Therefore, we decided to utilize NLP techniques to analyze the results.
Particularly, we decided to use the Semantic Role Labeling (SRL) technique [‎6], which
refers to the semantic roles of phrases in particular sentences and goes beyond POS.
Next we elaborate on SRL, the patterns we identified, and the relations found between
the extracted patterns when organizing the features into diagrams.
4.1</p>
      <p>
        Semantic Role Labeling
SRL [‎6] associates constituents of a phrase with their semantic roles in the phrase.
Those semantic roles identify the relationships that a syntactic constituent has with a
predicate. Typical semantic arguments include: (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) Agent (A0) – Who performs the
action?; (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) Object (A1) – On what object is the action performed?; (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) Instrument
(A2) – How is the action performed? Identification of adjunctive arguments, termed
modifiers, is further supported in SRL, for example: Temporal (AM-TMP) – When is
the action performed? or Adverbial (AM-ADV) – In what conditions is it performed?
      </p>
      <p>The benefits of SRL for analyzing variability of functional requirements have
already explored in [‎15]2. As an example consider the following sentence:
1 The questionnaire can be found at http://mis.hevra.haifa.ac.il/~iris/research/SOVA/
featureExtQue.pdf.
2 We used the English version of SRL. As the text descriptions were given in Hebrew – the
mother tongue of the participants, we had to translate them to English. Two researchers
verified the translation and especially its accuracy with respect to POS.</p>
      <p>The users subscribe to the site and update their profiles, using an online interface.</p>
      <p>Two verb predicates are identified in this sentence: 'subscribe' and 'update'.
Accordingly, the extracted roles (marked in square brackets) are:</p>
      <p>The users[Agent] subscribe[action]to the site[object]usinganonlineinterfac e[AM−ADV]
The users[Agent]update[action]theirprofile[object]usingan onlineinterfac e[AM−ADV]
The features extracted from this sentence are expected to include “update profile”
and “subscribe to site.” However, these features could appear in different contexts.
Fig. 1 demonstrates three such contexts for the feature “update profile”: the agent who
performs the action (a), the object on which the action is performed (b), and the action
itself (c).</p>
      <p>User
(a)
Update
profile</p>
      <p>Subscribe
to site</p>
      <p>Profile</p>
      <p>Update
Update</p>
      <p>Delete</p>
      <p>Profile</p>
      <p>Order
(b)
(c)</p>
      <p>Legend</p>
      <p>Mandatory
Optional
To identify the feature patterns we mapped the features that were specified by the
participants to the different descriptions to the outcomes of the SRL technique on
those descriptions. The extracted patterns are listed in Table 1. Since instruments and
modifiers played similar roles in our descriptions – they both describe actions –
currently we do not distinguish between patterns based on those roles. Furthermore, the
other roles, namely, agents, actions, and objects, appear in (almost) any sentence,
while modifiers and instruments interchangeably appear, if at all.</p>
      <p>As can be seen the commonly used patterns in our study described partial
functionality (i.e., combination of actions and the objects on which they are performed, e.g.,
“update profile”) and objects (e.g., profile). These are followed by “descriptive” and
“actions” patterns, which utilize different modifiers/instruments and the sentences’
predicates, respectively. We further observed stakeholders-related patterns, namely,
patterns involving the agent role, and different combinations of functionality-related
roles, e.g., Action+Modifier/Instrument and Action+Object+Modifier/Instrument.
We further tried to examine the relations between the features’ patterns when
organizing the features into diagrams. To this end, we examined for each one of the five top
found patterns what patterns their descendants follow, and particularly their direct
child features. Table 2 summarizes those findings.
 A child of a feature following the “partial functionality” pattern commonly
follows “descriptive”, “objects”, or “partial functionality” patterns. This means that
the child refers to other aspects of the functionality (as in “descriptive” and
“objects” patterns) or refines the parent (as in “partial functionality” pattern).
 A child of a feature following the “objects” pattern commonly follows “objects” to
refine the parent. However, it can also follow “descriptive”, “partial functionality”,
or even “actions” to describe or specify the possible uses of the objects.
 A child of a feature following the “descriptive” pattern commonly follows
“descriptive”, “actions”, or “partial functionality” patterns. In many cases the
“descriptive” pattern appears in the leaves of the diagram.
 A child of a feature following the “actions” pattern follows “descriptive”,
“objects”, “actions”, or “partial functionality” patterns.
 A child of a feature following the “stakeholders” pattern mainly follows the
“partial functionality” pattern that describes the actions which are performed by the
stakeholders and the objects on which they are performed. Other children’s
patterns were also observed in this case, most notably, “actions” and “objects”.</p>
      <p>Finally, our patterns cover the ways existing methods extract features from textual
descriptions. This originates from the fact that our patterns are semantic, as opposed
3 S.P.L.O.T Software Product Lines Online Tools. http://www.splot-research.org/
to the syntactic and grammatical patterns used by the existing approaches. The same
sequence of POS can be mapped to different semantic roles. For example,
adjective+noun can be used for describing the agent (e.g., registered user) or the object
(e.g., small items). As such, the suggested catalog goes beyond the syntactical
structure of the sentence. It can further be used by those methods to enable more flexible
generation of feature diagrams and may set the ground for systematic methods to
identify and structure SPL features.</p>
      <p>The validity of our study is subject to several threats. First, the knowledge and
skills of our participants may be questioned. However, they were students in an
advanced software engineering course who had the required background in SPLE and
feature modeling. The use of students in different software engineering research areas
is acceptable as it was shown that students have a good understanding of the way
industry behaves [‎17]. Second, the relatively low number of participants may
challenge the ability to generalize the results. Thus, each participant was required to
model several feature diagrams, resulting with 78 diagrams overall. Although these
diagrams are not independent, it enabled us analyzing more cases. Another threat is the
possibility that the way the descriptions were phrased influenced the feature
extraction process. Thus, we used eight different descriptions. We did not use a fixed,
predefined way to phrase those descriptions. Finally, the questionnaire used in this study
was written in Hebrew and translated to English in order to apply the SRL technique.
This may affect the pattern extraction process. To overcome this threat, a researcher
not involved in the current study additionally verified the translation in general and
with respect to POS in particular. Following her feedback, a few corrections were
made prior to execution of the study.
6</p>
    </sec>
    <sec id="sec-5">
      <title>Summary and Future Work</title>
      <p>Variability modeling is an important activity in Software Product Line Engineering
(SPLE). Extraction of features and structuring them into diagrams are challenging,
time-consuming, and error-prone. In this paper we present a catalog of patterns that
can be used to extract features from textual descriptions. These patterns are based on
semantic considerations (rather than syntactic and grammatical ones). We further
discuss the relations between those patterns in order to assist in organizing the
features hierarchically and creating feature diagrams. As far as we know, we are the first
ones to create a catalog of semantic patterns and use it to create feature diagrams.</p>
      <p>Further work is required to replicate the study with different experienced
populations of participants and different textual descriptions (in terms of length and phrasing
styles). The usefulness of the patterns for modeling variability and automatically
generating feature diagrams needs to be explored as well. Finally, exploration and
analysis of the indirect relations between patterns and refinement of patterns based on
existing or additional roles may provide interesting findings that can help improve
feature diagrams creation processes.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Acher</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Baudry</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heymans</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cleve</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Hainaut</surname>
            ,
            <given-names>J. L.</given-names>
          </string-name>
          (
          <year>2013</year>
          ).
          <article-title>Support for reverse engineering and maintaining feature models</article-title>
          .
          <source>Workshop on Variability Modelling of Software-intensive Systems (VaMoS)</source>
          , Article #
          <fpage>20</fpage>
          .‏
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Acher</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cleve</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perrouin</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heymans</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vanbeneden</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Collet</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,&amp;
          <string-name>
            <surname>Lahire</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          (
          <year>2012</year>
          ).
          <article-title>On extracting feature models from product descriptions</article-title>
          .
          <source>Workshop on Variability Modelling of Software-intensive Systems (VaMoS)</source>
          , pp.
          <fpage>45</fpage>
          -
          <lpage>54</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Babar</surname>
            ,
            <given-names>M.A.</given-names>
          </string-name>
          (
          <year>2011</year>
          ).
          <article-title>A systematic review of evaluation of variability management approaches in software product lines</article-title>
          .
          <source>Information and Software Technology 53</source>
          , pp.
          <fpage>344</fpage>
          -
          <lpage>362</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Davril</surname>
            ,
            <given-names>J. M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Delfosse</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hariri</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Acher</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cleland-Huang</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Heymans</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          (
          <year>2013</year>
          ).
          <article-title>Feature model extraction from large collections of informal product descriptions</article-title>
          .
          <source>The 9th Joint Meeting on Foundations of Software Engineering</source>
          , pp.
          <fpage>290</fpage>
          -
          <lpage>300</lpage>
          .‏
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Ferrari</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Spagnolo</surname>
            ,
            <given-names>G. O.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Dell'Orletta</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          (
          <year>2013</year>
          ).
          <article-title>Mining commonalities and variabilities from natural language documents</article-title>
          .
          <source>Software Product Line Conference (SPLC'13)</source>
          , pp.
          <fpage>116</fpage>
          -
          <lpage>120</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Gildea</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          &amp;
          <string-name>
            <surname>Jurafsky</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          (
          <year>2002</year>
          ).
          <article-title>Automatic Labeling of Semantic Roles</article-title>
          .
          <source>Computational Linguistics</source>
          <volume>28</volume>
          (
          <issue>3</issue>
          ), pp.
          <fpage>245</fpage>
          -
          <lpage>288</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Hariri</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Castro-Herrera</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mirakhorli</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cleland-Huang</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Mobasher</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          (
          <year>2013</year>
          ).
          <article-title>Supporting domain analysis through mining and recommending features from online product listings</article-title>
          .
          <source>IEEE Transactions on Software Engineering</source>
          <volume>39</volume>
          (
          <issue>12</issue>
          ), pp.
          <fpage>1736</fpage>
          -
          <lpage>1752</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Itzik</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          &amp;
          <string-name>
            <surname>Reinhartz-Berger</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          (
          <year>2014</year>
          ).
          <article-title>Generating Feature Models from Requirements: Structural vs</article-title>
          .
          <source>Functional Perspectives. Software Product Line Conference (SPLC'14) - Volume</source>
          <volume>2</volume>
          : Workshops, Demonstrations, and Tools, pp.
          <fpage>44</fpage>
          -
          <lpage>51</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Kang</surname>
            ,
            <given-names>K. C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cohen</surname>
            ,
            <given-names>S. G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hess</surname>
            ,
            <given-names>J. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Novak</surname>
            ,
            <given-names>W. E.</given-names>
          </string-name>
          &amp;
          <string-name>
            <surname>Peterson</surname>
            ,
            <given-names>A. S.</given-names>
          </string-name>
          (
          <year>1990</year>
          ),
          <article-title>FeatureOriented Domain Analysis (FODA) Feasibility Study</article-title>
          .
          <source>Technical Report</source>
          , SEI.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Kang</surname>
            ,
            <given-names>K.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kim</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lee</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kim</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shin</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Huh</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          (
          <year>1998</year>
          ).
          <article-title>Form: A feature-oriented reuse method with domain-specific reference architectures</article-title>
          .
          <source>Annals of Software Engineering 5</source>
          , pp.
          <fpage>143</fpage>
          -
          <lpage>168</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Lee</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kang</surname>
            ,
            <given-names>K.C.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Lee</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          (
          <year>2002</year>
          ).
          <article-title>Concepts and guidelines of feature modeling for product line software engineering</article-title>
          .
          <source>International Conference on Software Reuse</source>
          , pp.
          <fpage>62</fpage>
          -
          <lpage>77</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>McGregor</surname>
            ,
            <given-names>J.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Muthig</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yoshimura</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Jensen</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          (
          <year>2010</year>
          ). Guest Editors'
          <article-title>Introduction: Successful Software Product Line Practices</article-title>
          .
          <source>IEEE Software 27(3)</source>
          , pp.
          <fpage>16</fpage>
          -
          <lpage>21</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Niu</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Easterbrook</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          (
          <year>2008</year>
          ).
          <article-title>Extracting and modeling product line functional requirements</article-title>
          .
          <source>Requirements Engineering conference (RE'08)</source>
          , pp.
          <fpage>155</fpage>
          -
          <lpage>164</lpage>
          .‏
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Pohl</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Böckle</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>van der Linden</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          (
          <year>2005</year>
          ). Software Product-line Engineering: Foundations, Principles, and Techniques, Springer.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Reinhartz-Berger</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Itzik</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Wand</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          (
          <year>2014</year>
          ).
          <source>Analyzing Variability of Software Product Lines Using Semantic and Ontological Considerations. Conference on Advanced Information Systems Engineering (CAiSE'14)</source>
          ,
          <source>LNCS 8484</source>
          , pp.
          <fpage>150</fpage>
          -
          <lpage>164</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>She</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lotufo</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Berger</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wasowski</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Czarnecki</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          (
          <year>2011</year>
          ).
          <article-title>Reverse engineering feature models</article-title>
          .
          <source>International Conference on Software Engineering</source>
          , pp.
          <fpage>461</fpage>
          -
          <lpage>470</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Svahnberg</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Aurum</surname>
            .
            <given-names>A.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Wohlin</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          (
          <year>2008</year>
          ).
          <article-title>Using Students as Subjects - An Empirical Evaluation</article-title>
          .
          <source>ACM-IEEE International Symposium on Empirical Software Engineering and Measurement</source>
          , pp.
          <fpage>288</fpage>
          -
          <lpage>290</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Weston</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chitchyan</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Rashid</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          (
          <year>2009</year>
          ).
          <article-title>A framework for constructing semantically composable feature models from natural language requirements</article-title>
          .
          <source>Software Product Line Conference (SPLC'09)</source>
          , pp.
          <fpage>211</fpage>
          -
          <lpage>220</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>