<!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>Generic Requirements to Variability</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Alessandro Fantechi</string-name>
          <email>alessandro.fantechi@uni</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dipartimento di Ingegneria dell'Informazione, Universita di Firenze</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>This paper describes a research activity aiming at extracting variability information from ambiguities and vagueness of generic requirement documents, written in Natural Language. The proposed activity continues a research stream focusing on techniques to extract variability information from requirement documents. Here, we study the introduction of a process able to distinguish structural from functional variability, both in the extracted variability model and in the derived lower-level requirements. The problem is stated with reference to an example, a solution proposal is sketched together with related research questions, and a validation path is envisaged.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>Copyright c 2019 by the paper's authors. Copying permitted for private and academic purposes.</p>
      <p>Our previous work in this area has focused on the most e ective way of extracting potential variability in
requirements, looking for the most suitable textual indicators and for the analysis tools able to detect such
indicators. Following the common practice in SPLE, we have hence modeled variability using features and
feature diagrams [KCH+90]. We considered real detailed requirement documents coming both from industry
and academia and the purpose of the research was to detect the ambiguities still present in these documents,
intrinsic in natural language usage, and to understand if these could hide some variability.</p>
      <p>In this paper we re ne this approach by considering instead high level/generic requirements documents, in
which requirements are given at a high abstraction level, like the declarative description of a main functionality,
or the very rst, coarse grained, physical description of a system. The idea is that high level requirements can
hide a family of di erent products, so that they may be seen as generic requirements of a potential family of
systems, and their specialization may correspond to product speci c requirements. In this paper, variability
extraction is based on the observation that a high level requirement document may describe what a potential
family of systems will do, and variability is given by di erent choices among the implementation alternatives.</p>
      <p>Another novelty of the present work is that variability is extracted by separating functional and structural
perspectives by means of di erent feature diagrams:
according to the functional perspective, a feature is a function or service o ered by the system, and its
sub-features represent special cases or di erent variants of such a functionality;
according to the structural perspective, the feature diagram de nes a domain or an architectural
organization.</p>
      <p>Speci cally, the idea underlying this research activity is to combine:
our approach to variability identi cation through the use of a NLP tool;
the classi cation of features as functional and structural as introduced in [IR14], that improve features
description with respect to the practice of mixing up in a single diagram concepts that would rather be
separated;
the idea that the specialization processes of functional and structural requirements are interwound. Figure 1
illustrates this double specialization in a UML like formalism: on the top line there are an abstract domain
element and a generic functional requirement referring to it; on the bottom line there are the re nements.</p>
      <p>This paper aims at describing this combined approach, showing the relevant issues and de ning a process
that, moving from generic requirements documents, builds two feature diagrams expressing variability along
the di erent perspectives. We illustrate the approach on a small case study, leaving the validation e ort on
requirement documents coming from industrial case studies to further work.</p>
      <p>This paper is structured as follows: background for this paper is given in Section 2, including more detailed
reference to our previous work. Section 3 describes the proposed approach with a simple example and in more
general terms. Section 4 discusses the prospected research activity, formulating speci c research questions and
envisaging a validation plan, recurring to available industrial case studies.
2.1</p>
      <sec id="sec-1-1">
        <title>Variability and Feature Diagrams</title>
        <p>Feature models have been extensively used in the area of product line engineering. Product line engineering
provides a way to manage variability during the entire design process and is an important means for identifying
variability needs early on.</p>
        <p>Feature models are visually represented by means of feature diagrams, introduced in [KCH+90] as a graphical
formalism, and /or hierarchy of features, to describe in a uniform way a variety of di erent possible
implementations of a system. The variability depends on which features are included and which ones are not. The features
are represented as the nodes of a tree. Features come in several avours, (Figure 2 illustrates the graphical
constructs):</p>
        <sec id="sec-1-1-1">
          <title>Optional features may be present in a system only if their parent is present;</title>
        </sec>
        <sec id="sec-1-1-2">
          <title>Mandatory features are present in a system if and only if their parent is present;</title>
          <p>Alternative features are a set of features among which one and only one is present in a system, provided
their parent is present.</p>
          <p>Constraints may be added to a feature diagram permitting for example to express that the presence of a
feature requires the presence of another one.
In previous works [FGS17, FFGS18a, FFGS18b], we have de ned an approach to extract variability issues from
requirement documents using Natural Language analysis tools. These tools are aimed at revealing the ambiguity
defects of the NL sentences in the requirements document.</p>
          <p>In line with this stream of research, in [FGS17] we concentrated on the correspondence between ambiguity
indicators and feature diagram fragments, to de ne a systematic way of building a feature diagram from a
set of variability points extracted with a NLP tool. In particular we have focused on using tools aimed at
revealing the ambiguity defects of the NL sentences in the requirements document. The underlying intuition
is that often ambiguity in requirements is due to the (conscious or subconscious) need to postpone choices for
later decisions in the implementation of the system. Ambiguity in NL has been largely studied in requirements
engineering (RE), and several approaches have been developed to automatically detect defective expressions that
can be interpreted in di erent ways by the stakeholders who have to read the requirements [TB13, GCK10,
BK04, RFG+17, FFWE17]. These approaches focus on identifying typically vague terms, such as adjectives and
adverbs (e.g., [TB13, GCK10]), and ambiguous syntactic construction due to the use of pronouns [YDRG+10],
or coordinating conjunctions such as \and" or \or" [YWDRN10, CNDRW06]. Our work considers ambiguity
not as a defect, but as a means to enlighten possible variation points in an early phase of software and system
development, and to give space for a range of di erent products.</p>
          <p>Then, in [FFGS18a] we initiated a validation of the approach with the QuARS (Quality Analyser for
Requirements Speci cations) NLP tool [GLT05], in order to better assess the relation between ambiguity detection by
QuARS and potential variation points. The evaluation has shown that some ambiguous terms, such as \and/or"
\or", and weak terms such as \may" or \could" are more likely to indicate variability rather than ambiguity.
Instead, typically vague terms, such as \adequate", \signi cant", etc. are more likely to indicate ambiguity.
In [FFGS18b] we have analysed the ambiguities returned by the tool on three di erent sets of requirements,
classifying them in false positives, real ambiguities, and variation points.</p>
          <p>From ambiguities in the domain/structure to specialization and variability of
the requirements
The work cited in the previous section has mostly regarded the search for the most e ective way of extracting
potential variability in requirements, looking at the most suitable indicators, and on the analysis tools able to
detect such indicators. Only [FGS17] included the construction of a feature diagram to express the variability
revealed by the considered techniques.</p>
          <p>To advance our research on the topic, we now focus back on modeling the revealed variability, introducing the
distinction between di erent perspectives (typically, structural and functional perspectives) according to which
variability can be interpreted. The idea is that generic requirements can hide a family of di erent products, that
can be revealed looking at di erent specializations both under a structural and a functional perspective.
3.1</p>
        </sec>
      </sec>
      <sec id="sec-1-2">
        <title>The research idea through a simple example</title>
        <p>In order to introduce a systematic variability extraction process based on the above principles, we discuss a
simple example. The starting point is a high level, generic, set of requirements. For instance, the following can
likely be two high level requirements of a generic mobile phone:</p>
        <sec id="sec-1-2-1">
          <title>Rg1. The phone shall o er a suitable interface to enter a text.</title>
        </sec>
        <sec id="sec-1-2-2">
          <title>Rg2. The phone shall echo the inserted text on a screen.</title>
          <p>The two requirements describe two generic functionalities that a mobile phone shall o er to the user: entering
a text, and seeing the text that she is entering. Observing them from a structural perspective, they say that
a mobile phone must have an input interface and a screen, that can be considered as structural, mandatory,
features: this is summarized by the feature diagram of Figure 3.a.</p>
          <p>Considering them from a functional perspective, they mandate that the system o ers two functions, again
represented as two mandatory features in Figure 3.b.
When analyzing the requirements Rg1 and Rg2, looking for vague and underspeci ed terms according
to [FFGS18b], suitable is detected as a vague word that needs to be specialized. In our case, the suitable
interface is intended to be a structural feature of the system, for which two alternatives could be identi ed:
touchscreen keyboard and microphone.</p>
          <p>Moreover, screen is also detected as an underspeci ed term that needs to be instantiated, in this case the
analyst decides instantiations to be touchscreen and non-touch screen.</p>
          <p>As a rst outcome of this analysis e ort, we can hence add two requirements, each describing two alternatives:
Rs1. The input modalities in a mobile phone device are the touchscreen or the old style 3x4 physical keyboard.
Rs2. The output modalities in a mobile phone device are the touchscreen or the non-touch screen.</p>
          <p>The information that has been added to the description of the mobile phone family induces a re nement of
the functional part of requirements Rg1 and Rg2 to consider the new structural elements. The analyst decides
to o er normal editing and, optionally, also speech recognition:
Rs3. The mobile phone shall permit the user to enter a text through the touchscreen keyboard or through the
3x4 physical keyboard.</p>
          <p>Rs4. The mobile phone may (optionally) permit the user to enter a text through voice dictation.
Rs5. The phone shall echo the inserted characters on the touch or non-touch screen as they are inserted.
Rs6. The phone may (optionally) echo the dictated words on the touchscreen as they are recognized.</p>
          <p>These requirements introduce di erent variants of the functional features. They also require to consider the
microphone among the standard inputs. Even though speech recognition is optional, we consider the microphone
as a mandatory element since it is included in all phones, and re ne Rs1 in Rs1'
Rs1'. The input modalities in a mobile phone device are the touchscreen or the old style 3x4 physical keyboard,
and the microphone.</p>
          <p>In terms of feature diagrams, the structural re nement is described in Figure 4, and the functional variants
can be expressed by the feature diagram of Figure 5.</p>
          <p>We observe that the features in the diagrams in Fig 4 correspond to those in the diagram in Fig. 5 and
could be (almost) pairwise related by inter-diagram requires dependencies: each functional feature requires
a corresponding structural entity: e.g., enter a text requires a standard input; enter a text through the
touchscreen keyboard requires a touchscreen keyboard, echoing characters or words on the touchscreen
requires a touchscreen. We document these dependencies in Figure 6, where, to simplify the picture, we
consider only a fragment of the each feature diagrams.</p>
        </sec>
      </sec>
      <sec id="sec-1-3">
        <title>The research idea in general terms</title>
        <p>We propose a requirements re nement process, that begins with a list of (generic) requirements.</p>
        <p>A generic requirement consists of key generic functionalities and implementations that can become a di
erentiating factor for a user. A requirement can be generic because:
1. it describes a functionality, in terms of what the system is supposed to do, and not about how it does so;
the functionality is a high level functionality and does not take into account special cases, alternatives, etc.
Examples are: The phone shall permit to send a message, The phone shall o er the possibility to enter a
text.
2. it predicates about a domain element that has still to be better detailed (by inheritance or by composition).</p>
        <p>As an example: The phone shall include a screen.</p>
        <p>In all these cases, the re nement process can reveal variability points and can lead to lower level requirements
that de ne a family of products that di er in the implementation platform, in the o ered functionalities, or in
the adopted physical elements (that roughly correspond to di erent domain elements).</p>
        <p>The requirement re nement process can be given a more systematic description as shown in Figure 7 and
discussed below:
1. The rst step of the process runs a NLP tool to analyze the generic requirements and to look for indicators
of under-speci cations and of vagueness. We recall from [FFGS18b] that under-speci ed requirements are
detected looking for terms needing to be instantiated (e.g.: information, interface, access, button, message,
screen, ...), and vague requirements are those including undetermined adjectives and adverbs like: clear,
easy, strong, good, bad, useful, signi cant, adequate, recent, ....</p>
        <p>With reference to the mobile phone example, this means to run the tool on Rg1 and Rg2. We used QuARS
to this purpose, having screen and suitable detected as defective words.
2. Once the under-speci ed or vague requirements have been singled out, their analysis (second step of the
process) is guided by the questions: \Is this a false positive?", \Is this just an ambiguity?", or \Can this
requirement hide a variation point?". More concretely, both in the case of vagueness and in the case of
under-speci cation, the criterion to identify a variability is the existence of more than one possible instance
of the defective term.</p>
        <p>This is a manual step, made by an analyst with some knowledge of the domain. In our running example,
both the screen and the suitable interface were considered as possible variability points.</p>
        <sec id="sec-1-3-1">
          <title>3. The third step of the process is to re ne the detected variation points:</title>
          <p>(a) In the case of generic and vague functionality, the requirement is specialized by a set of concrete
functionalities. For instance the requirement \The phone shall permit to send a message" may be re ned</p>
          <p>in a mandatory feature \send a SMS message" and two optional features: \send a MMS message" and
\send a WhatsApp message". The specialization may need the de nition of structural/architectural
aspects of the system, that may in turn lead to a further re nement of the functionalities if there are
still some vaguenesses or under-speci cations.
(b) In the case of a requirement containing a defective term that denotes a domain entity we consider
all the possible specializations of the generic term and re ne the structural description. This leads
in almost all the cases to a re nement in the functional perspective, to take into account the newly
introduced concrete domain elements.</p>
          <p>This is the case of our running example, where di erent input interfaces have been considered: the
keyboard and the microphone, that are both mandatory in a phone, and where the keyboard can
be either on the touchscreen or the 3x4 physical keyboard. The considered screens have been the
touchscreen and the not touch screen. This re nement has led to Rs1 and Rs2.</p>
          <p>In general, the third step of the process is iterative and alternates structural and functional specializations.
In the case of the mobile phone, the structural re nement has naturally driven the functional re nement step
(Figure 5): after having described the phone structure, it has been clear that the functionality enter a text could
have been implemented by editing on a touch or on a traditional keyboard (Rs3). The analysis has also singled
out a third choice, namely voice dictation (Rs5). Each choice has a corresponding echoing modality (Rs4 and
Rs6). Finally, speech recognition has induced a further structural re nement, to consider the microphone (Rs1').</p>
          <p>The nal result is a pair of feature diagrams, one in functional and the other in structural perspective. These
diagrams can be connected through requires dependencies, relating a functional feature with the structural
entity(-ies) needed to implement it, as exempli ed in in Figure 6 and generalized in Figure 8.
4</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>Conclusion and Discussion</title>
      <p>We have presented the current status of a research activity aiming at driving the elicitation of a family of products
from an initial set of generic requirements written in Natural Language. The approach is based on extracting
variability information from ambiguities and vagueness of the generic requirement documents.</p>
      <p>When specializing generic requirements of a (potential) family of systems, variability is typically introduced
both on a structural and on a functional perspective, hence there is the need to introduce a process able to
distinguish the structural from the functional perspectives in eliciting variability, both in the extracted variability
model and in the derived lower-level requirements. We have presented the problem by means of a simple example
and we have sketched a solution proposal.</p>
      <p>We plan to validate the presented approach by application to industrial case studies. Our research agenda
hence consists in taking some real world requirements document, apply a NL processing tool to look for
underspeci cations and vaguenesses, and perform the analysis and re nement step, to answer to the following research
questions:</p>
      <p>Research Question 1: Is there a preferred order in the process of variability identi cation? i.e. is it better
to rst address re nement of the structural features rather than the functional ones, or viceversa? Or the two
parallel processes should actually interleave?</p>
      <p>Research Question 2: How well can the approach be accepted in industry? How much industrial users will
appreciate this approach in terms of perceived usefulness and perceived ease-of-use (regarding both aspects of
using NLP analysis tools and of distinguishing functional and structural models)?</p>
      <p>Regarding the rst research question, we have already identi ed an interesting candidate case study in the
Clarus Weather System. Clarus is an initiative sponsored by the Federal Highway Administration (FHWA)
to organize and make more e ective environmental and road condition observation capabilities. The list of
requirements of the Clarus system is organised in two documents: high level and detailed system requirements.
These are considered suitable to validate the capabilities of the NLP tools to indicate potential variability: any
detected variability should be re ected, either under a structural or a functional perspective, to specialized
requirements. We plan to use them as a testbed for our approach applying the re nement process to the generic
requirements and comparing the outcome with their detailed requirements. An example of generic requirement
is the one telling that \the Clarus system shall employ industrial standards". The under-speci ed wording
industrial standard calls for an analysis and re nement e ort. Indeed, we found a comment specifying the family
of standards of interest, and in the detailed document the defective requirement is substituted by 10 di erent
requirements, one for each concrete standard.</p>
      <p>Other industrial case studies will then be needed to be able to generalize the answers to the question.</p>
      <p>The second research question will require a longer term collaboration with one or more companies, in order
to involve requirement engineers and analysts in an investigation including pilot projects and interviews, within
an established technology acceptance model.
[BK04]</p>
      <p>
        D. M. Berry and E. Kamsties. Ambiguity in requirements speci cation. In Perspectives on software
requirements, pages 7{44.
        <xref ref-type="bibr" rid="ref9">Springer, 2004</xref>
        .
      </p>
      <p>N. H. Bakar, Z. M. Kasirun, and N. Salleh. Feature extraction approaches from natural language
requirements for reuse in software product lines: A systematic literature review. Journal of Systems
and Software, 106:132{149, 2015.</p>
      <p>Lianping Chen, M. A. Babar, and N. Ali. Variability management in software product lines:
a systematic review. In Proc. of the 13th Int. Software Product Line Conference, pages 81{90.</p>
      <p>Carnegie Mellon University, 2009.
[CNDRW06] F. Chantree, B. Nuseibeh, A. De Roeck, and A. Willis. Identifying nocuous ambiguities in natural
language requirements. In Requirements Engineering, 14th IEEE International Conference, pages
59{68. IEEE, 2006.</p>
      <p>
        A. Fantechi, A. Ferrari, S. Gnesi, and L. Semini. Hacking an ambiguity detection tool to extract
variation points: an experience report. In Proc. of the 12th International Workshop on Variability
Modelling of Software-Intensive Syste
        <xref ref-type="bibr" rid="ref12">ms, VAMOS 2018</xref>
        ,
        <xref ref-type="bibr" rid="ref12">Madrid, Feb. 2018</xref>
        , pages 43{50. AC
        <xref ref-type="bibr" rid="ref12">M,
2018</xref>
        .
      </p>
      <p>A. Fantechi, A. Ferrari, S. Gnesi, and L. Semini. Requirement engineering of software product
lines: Extracting variability using NLP. In 26th IEEE Int. Requirements Engineering Conference,
RE 2018, Ban , AB, Canada, Aug. 2018, pages 418{423. IEEE Computer Society.</p>
      <p>H. Femmer, D. Mendez Fernandez, S. Wagner, and S. Eder. Rapid quality assurance with
requirements smells. Journal of Systems and Software, 123:190{213, 2017.</p>
      <p>A. Fantechi, S. Gnesi, and L. Semini. Ambiguity defects as variation points in requirements. In
Proc. of the 11th International Workshop on Variability Modelling of Software-intensive Systems,
VAMOS '17, pages 13{19, 2017. ACM.</p>
      <p>A. Ferrari, G. O. Spagnolo, and F. Dell'Orletta. Mining commonalities and variabilities from
natural language documents. In Proc. of the 17th International Software Product Line Conference,
pages 116{120. ACM, 2013.</p>
      <p>B. Gleich, O. Creighton, and L. Kof. Ambiguity detection: Towards a tool explaining ambiguity
sources. Requirements Engineering: Foundation for Software Quality, pages 218{232, 2010.
[IR14]
[KCH+90]
[NBA+17]
[PKS04]
[RFG+17]</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <given-names>S.</given-names>
            <surname>Gnesi</surname>
          </string-name>
          , G. Lami, and
          <string-name>
            <surname>G. Trentanni.</surname>
          </string-name>
          <article-title>An automatic tool for the analysis of natural language requirements</article-title>
          .
          <source>Comput. Syst. Sci. Eng</source>
          .,
          <volume>20</volume>
          (
          <issue>1</issue>
          ),
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <given-names>G.</given-names>
            <surname>Goth</surname>
          </string-name>
          .
          <article-title>Deep or shallow, nlp is breaking out</article-title>
          .
          <source>Communications of the ACM</source>
          ,
          <volume>59</volume>
          (
          <issue>3</issue>
          ):
          <volume>13</volume>
          {
          <fpage>16</fpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <article-title>functional perspectives</article-title>
          .
          <source>In 18th Int. Software Product Lines Conference - Volume B , SPLC '14</source>
          ,
          <string-name>
            <surname>Florence</surname>
          </string-name>
          , Italy, Sept.
          <year>2014</year>
          , pages
          <fpage>44</fpage>
          {
          <fpage>51</fpage>
          . ACM,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <given-names>N.</given-names>
            <surname>Itzik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Reinhartz-Berger</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Wand</surname>
          </string-name>
          .
          <article-title>Variability analysis of requirements: Considering behavioral di erences and re ecting stakeholders perspectives</article-title>
          .
          <source>IEEE Transactions on Software Engineering</source>
          ,
          <volume>42</volume>
          (
          <issue>7</issue>
          ):
          <volume>687</volume>
          {
          <fpage>706</fpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <surname>Kyo C Kang</surname>
            ,
            <given-names>S. G.</given-names>
          </string-name>
          <string-name>
            <surname>Cohen</surname>
            ,
            <given-names>J. A.</given-names>
          </string-name>
          <string-name>
            <surname>Hess</surname>
            ,
            <given-names>W. E.</given-names>
          </string-name>
          <string-name>
            <surname>Novak</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <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</source>
          , Carnegie-Mellon
          <source>Univ Pittsburgh Pa Software Engineering Inst</source>
          ,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <given-names>Yang</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Schulze</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Saake</surname>
          </string-name>
          .
          <article-title>Reverse engineering variability from natural language documents: A systematic literature review</article-title>
          .
          <source>In Proc. of the 21st International Systems and Software Product Line Conference-Volume A</source>
          , pages
          <volume>133</volume>
          {
          <fpage>142</fpage>
          . ACM,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <given-names>M.</given-names>
            <surname>Moon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Yeom</surname>
          </string-name>
          , and
          <string-name>
            <given-names>H. Seok</given-names>
            <surname>Chae</surname>
          </string-name>
          .
          <article-title>An approach to developing domain requirements as a core asset based on commonality and variability analysis in a product line</article-title>
          .
          <source>IEEE Transactions on Software Engineering</source>
          ,
          <volume>31</volume>
          (
          <issue>7</issue>
          ):
          <volume>551</volume>
          {
          <fpage>569</fpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <article-title>Automated extraction of product comparison matrices from informal product descriptions</article-title>
          .
          <source>Journal of Systems and Software</source>
          ,
          <volume>124</volume>
          :
          <fpage>82</fpage>
          {
          <fpage>103</fpage>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <given-names>S.</given-names>
            <surname>Park</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kim</surname>
          </string-name>
          , and
          <string-name>
            <given-names>V.</given-names>
            <surname>Sugumaran</surname>
          </string-name>
          .
          <article-title>A scenario, goal and feature-oriented domain analysis approach for developing software product lines</article-title>
          .
          <source>Industrial Management &amp; Data Systems</source>
          ,
          <volume>104</volume>
          (
          <issue>4</issue>
          ):
          <volume>296</volume>
          {
          <fpage>308</fpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <string-name>
            <given-names>B.</given-names>
            <surname>Rosadini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ferrari</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Gori</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Fantechi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Gnesi</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Trotta</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Bacherini</surname>
          </string-name>
          .
          <article-title>Using nlp to detect requirements defects: An industrial experience in the railway domain</article-title>
          .
          <source>In Int. Working Conf. on Requirements Engineering: Foundation for Software Quality</source>
          , pages
          <volume>344</volume>
          {
          <fpage>360</fpage>
          . Springer,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <string-name>
            <given-names>S. F.</given-names>
            <surname>Tjong</surname>
          </string-name>
          and
          <string-name>
            <given-names>D. M.</given-names>
            <surname>Berry</surname>
          </string-name>
          .
          <article-title>The design of SREE - a prototype potential ambiguity nder for requirements speci cations and lessons learned</article-title>
          .
          <source>In Int. Working Conference on Requirements Engineering: Foundation for Software Quality</source>
          , pages
          <volume>80</volume>
          {
          <fpage>95</fpage>
          . Springer,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <string-name>
            <surname>M. H. ter Beek</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Fantechi</surname>
            , and
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Gnesi</surname>
          </string-name>
          .
          <article-title>Product line models of large cyber-physical systems: the case of ERTMS/ETCS</article-title>
          .
          <source>In Proc. of the 22nd Int. Conference on Systems and Software Product Line - Volume</source>
          <volume>1</volume>
          ,
          <string-name>
            <surname>SPLC</surname>
          </string-name>
          <year>2018</year>
          , Gothenburg, Sweden,
          <source>September 10-14</source>
          ,
          <year>2018</year>
          , pages
          <fpage>208</fpage>
          {
          <fpage>214</fpage>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <string-name>
            <surname>M. H. ter Beek</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Fantechi</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Gnesi</surname>
            , and
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Semini</surname>
          </string-name>
          .
          <article-title>Variability-based design of services for smart transportation systems</article-title>
          .
          <source>In Proc. Leveraging Applications of Formal Methods</source>
          ,
          <article-title>Veri cation</article-title>
          and Validation: Discussion, Dissemination, Applications - 7th
          <source>International Symposium, ISoLA</source>
          <year>2016</year>
          , Corfu, Greece, Oct.,
          <year>2016</year>
          , volume
          <volume>9953</volume>
          <source>of LNCS</source>
          , pages
          <volume>465</volume>
          {
          <fpage>481</fpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          <string-name>
            <surname>T.</surname>
          </string-name>
          <article-title>von der Ma en</article-title>
          and H. Lichter.
          <article-title>RequiLine: A requirements engineering tool for software product lines</article-title>
          .
          <source>In Int. Workshop on Software Product-Family Engineering</source>
          , pages
          <volume>168</volume>
          {
          <fpage>180</fpage>
          . Springer,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [YDRG+10]
          <string-name>
            <given-names>Hui</given-names>
            <surname>Yang</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. De Roeck</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          <string-name>
            <surname>Gervasi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Willis</surname>
            , and
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Nuseibeh</surname>
          </string-name>
          .
          <article-title>Extending nocuous ambiguity analysis for anaphora in natural language requirements</article-title>
          . In Requirements Engineering Conference (RE),
          <year>2010</year>
          18th IEEE International, pages
          <volume>25</volume>
          {
          <fpage>34</fpage>
          . IEEE,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [YWDRN10]
          <string-name>
            <given-names>Hui</given-names>
            <surname>Yang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Willis</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. De Roeck</surname>
            , and
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Nuseibeh</surname>
          </string-name>
          .
          <article-title>Automatic detection of nocuous coordination ambiguities in natural language requirements</article-title>
          .
          <source>In Proc. of the IEEE/ACM international conference on Automated software engineering</source>
          , pages
          <volume>53</volume>
          {
          <fpage>62</fpage>
          . ACM,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>