<!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>
      <journal-title-group>
        <journal-title>RE, Aston,
Birmingham, UK</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Automated Requirement Formalization Using Product Design Specifications</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Robin Gröpler</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Libin Kutty</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Viju Sudhi</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Daran Smalley</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>ALSTOM</institution>
          ,
          <addr-line>Östra Ringvägen 2, 721 73 Västerås</addr-line>
          ,
          <country country="SE">Sweden</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>ifak - Institut für Automation und Kommunikation e.V.</institution>
          ,
          <addr-line>Werner-Heisenberg-Str. 1, 39106 Magdeburg</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2022</year>
      </pub-date>
      <volume>2</volume>
      <fpage>1</fpage>
      <lpage>03</lpage>
      <abstract>
        <p>Assuring the quality of complex and highly configurable software systems is a demanding and timeconsuming process. Especially for safety-critical systems, extensive testing based on requirements is necessary. Methods for model-based test automation in agile software development ofer the possibility to overcome these dificulties. However, it is still a major efort to create formal models from functional requirements in natural language on a large scale. In this paper, we present and evaluate automated support for the requirements formalization process to reduce cost and efort. We present a new approach based on Natural Language Processing (NLP) and textual similarity using requirements and product design specifications to generate human- and machine-readable models. The method is evaluated on an industrial use case from the railway domain. The recommended requirement models for the considered propulsion system show an average accuracy of more than 90% and an exact match of the entire models of about 55%. These results show that our approach can support the requirements formalization process, which can be further used for test case generation and execution, as well as for requirements and design verification.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Requirements engineering</kwd>
        <kwd>requirements modeling</kwd>
        <kwd>natural language processing</kwd>
        <kwd>textual similarity</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Increasingly complex and highly configurable software systems also increase the efort required
for their quality assurance. The rapid and simultaneously high-quality development of industrial
software products demands an increasingly efective test process. Especially for safety-critical
systems, such as in the automotive and railway domains, extensive testing based on
requirements is necessary. However, any manual processing, such as requirements verification and test
generation, from textual requirements is time-consuming and error-prone, and also requires a
lot of expert knowledge. Methods for model-based test automation in agile software
development pursue the goal to overcome these dificulties [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Formal models serve as the basis for
automating a large number of further process steps.
      </p>
      <p>
        In previous works, a model-based testing tool chain has been developed to enable eficient test
processes [
        <xref ref-type="bibr" rid="ref2 ref3">2, 3</xref>
        ]. Methods for model synthesis, model-based test generation and prioritization
are used to systematically and eficiently create a test suite that contains suitable test cases.
This approach is based on behavioral requirements that serve as input for further processing.
The only time-consuming manual step is the creation of requirement models from functional
requirements in natural language.
      </p>
      <p>
        Recent advances in natural language processing (NLP) show promising results for supporting
a wide range of requirements analysis tasks [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Therefore, NLP techniques show a growing
interest in automating various software testing activities such as model and test case generation.
A considerable amount of NLP approaches and tools have been investigated in recent years
aiming to generate models or test cases from underlying requirements documents [
        <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
        ].
      </p>
      <p>
        However, due to the shortcomings of natural language, most of the existing NL-based
approaches generate abstract models and test cases, but lack information about real entities,
their relations and design [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. The links to real entities such as components, signals and
parameters are usually added only during test execution, which in turn is an error-prone and
time-consuming manual process. At this late stage of the testing process, issues have to be
resolved, e.g., that parts of the requirements are not verifiable. This makes the model-based
approach somewhat ineficient, since the requirements and the design specification then have
to be revised again. Besides mapping abstract to real entities, there are usually many specific
details in the system design from which the requirement formalization process would benefit.
The system architecture not only describes the structure, but also includes architectural design
decisions and is therefore closely related to the requirements [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>In this work, we want to take into consideration product design specifications for a much
more precise requirements formalization process. Our new approach utilizes NLP techniques to
automatically generate requirement models from natural language requirements and design
specifications. We perform textual similarity and contradiction analysis between the
requirements and entity descriptions using classical to modern NLP algorithms. The generated models
are represented in a simple, self-created, machine- and human-readable language. The main
contributions of this work are i) a new approach for requirement formalization using product
design specifications and ii) the evaluation of various algorithms on an industrial use case.
The integration of information from the design specifications at this early stage of the testing
process shall provide much faster feedback to the requirements or test engineer whether the
requirements are verifiable and correctly designed.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Related work</title>
      <p>
        There is a wide range of sophisticated methods and tools for requirement formalization, see e.g.
the surveys of Zhao et al. [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], Buzhinsky [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] or Brunello et al. [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Recently, Giannakopoulou et
al. [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] proposed a structured natural language called FRETISH using semantic templates, which
has been evaluated in several NASA projects. These methods focus purely on the requirements
texts without considering further information about the system architecture.
      </p>
      <p>
        There are only a few works that take architecture and design specifications into account during
the formalization of requirements. Bernaerts et al. [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] addressed the early integration of the
design process, but focus more on temporal logic while assuming a manual interpretation
of natural language texts. Stachtiari et al. [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] addressed the early assurance of consistency
between the requirements and design correctness using a pattern-based approach. Note that
in a previous study, we pointed out that a predefined list of semantic entities is helpful to
generate more accurate models from requirements [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Wang et al. [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] developed a
patternbased approach called PASER for checking the consistency between the generated models and
the implementation, i.e., considering the design in the stage of the process model. During test
execution, many authors use a mapping table or test case specifications [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. However, all of
these approaches require large manual efort and expert knowledge of system architecture and
design to create such documents.
      </p>
      <p>
        The use of architecture and design specifications has been investigated for various other
requirements analysis tasks. Leitão and Medeiros [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] developed an NLP-based method that can
extract and associate components from product design specifications and system requirements.
Sharma et al. [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] proposed a recommender system for selecting a suitable architectural pattern
for a given set of software requirements using textual entailment. Niklas et al. [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] developed
an approach for checking the consistency of design specifications against natural language
requirements based on noun extraction and graph-based modeling. Yet, none of these approaches
can be used for the formalization of requirements.
      </p>
      <p>
        The application of similarity approaches is widely used in requirements analysis. For example,
several techniques for identifying requirement duplicates and interdependencies have been
studied [
        <xref ref-type="bibr" rid="ref16 ref17">16, 17</xref>
        ]. Furthermore, it was shown that measuring the similarity between new and
old requirements of software projects helps to identify reusable software components such as
design, coding and test cases [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. Recently, Abbas et al. [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] investigated the semantic similarity
of customer requirements to generate reuse recommendations for software product line assets.
      </p>
      <p>However, most previous work has focused on the level of the entire requirement, which has
the advantage that it can be processed at once and most NLP techniques are directly applicable.
In contrast, our approach goes into much more detail on the individual entities and their
dependencies between the requirements and design descriptions. In addition, not only similarity
but also contradiction is studied to identify specific properties of the requirement model. To
the best of our knowledge, the application of NLP-based methods for automated requirements
formalization using requirements and design specifications has not yet been considered in the
literature.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Use case</title>
      <p>In order to conduct experiments and evaluate our approach, we consider a use case from the rail
industry. We use the data of the Propulsion Control (PPC) system in Bombardier Transportation,
an Alstom Group Company. The PPC is part of a large, complex, safety-critical system. It
handles the control of the entire propulsion system, including both control software as well as
the electrical functions.</p>
      <p>The requirements are written in textual format in the requirements management tool IBM
DOORS. They are written in English and may contain several sentences. They do not follow a
prescribed format in order not to focus on syntax when writing them. To meet the standards
Requirement specification</p>
      <p>Requirement
+ ID
+ Description
+ LinkedComponents
1..*</p>
      <p>Component
1..* + Name
+ Description
+ Parameters
+ Signals
1
1..*</p>
      <p>
        Design specification
of Safety Integrity Level 2 (SIL2), a design document is written in textual format and is also
handled in DOORS. The requirements and the design document are created by hand and can
be manually linked. The system architecture and software modules are modeled as blocks in
Matlab Simulink using a model-based design approach [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]. The two underlying documents for
our study are provided as exports from DOORS and Simulink.
      </p>
      <p>We assume the following tool and use case specific characteristics of the requirements and
design specifications, cf. Figure 1: i) components are not mentioned in the textual requirement
descriptions but are defined in the design specification and linked to the requirements, ii) all
signals and parameters are defined with textual descriptions in the design specification and
linked to the corresponding components, and iii) requirement descriptions have a clear and
consistent structure. In particular, we assume that a short description in natural language
is available for each entity. This assumption should hold true in most industrial product
developments since requirements engineers also need to identify entities by some textual
description. This information can be written inside the implemented code, in the company’s
internal standardization documentation, or more structured as a table in a design specification
document.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Methodology</title>
      <p>In the following, we investigate suitable NLP methods to automate the process of creating
requirement models from the requirements and design specification. Figure 2 demonstrates the
pipeline of our approach using an exemplary requirement with related signal descriptions. Note
that the requirement is shown somewhat generalized, as the data we use is confidential.</p>
      <p>The process can be divided into the following steps. The requirements in natural language and
the design specification serve as inputs to the pipeline. The requirement is initially decomposed
into sub-requirement clauses (Section 4.1). Each clause is compared to the signal descriptions
in the design specification to identify the signals (Section 4.2) and then the corresponding
parameters are identified (Section 4.3). A relation is formed for each clause, which is then
translated into a logical structure and finally into a requirement model (Section 4.4).</p>
      <p>The ground truth for the individual steps was created manually and reviewed by a
requirements engineer with expert knowledge. While presenting the methodology, we show
experimental results for the individual steps and discuss which methods are most suitable.
CMD_Close_Valve = true
EVT_Ex_Hi_Temp = true
Device_Temp &gt; T_ExHi
Device_Temp &lt; T_RST
Requirement Model
if (Device_Temp &gt; T_ExHi)
then (CMD_Close_Valve = true
and</p>
      <p>EVT_Ex_Hi_Temp = true)
until (Device_Temp &lt; T_RST)
Requirement Specification
The valve shall be closed
and event 'Extremely high device temperature' shall be indicated,
when the device temperature exceeds [T_ExHi] ºC
until the device temperature falls below the reset value [T_RST] ºC.</p>
      <p>Decomposition</p>
      <p>Signal
Detection</p>
      <p>Parameter
Detection</p>
      <p>Model
Generation
Design Specification</p>
      <sec id="sec-4-1">
        <title>4.1. Decomposition</title>
        <p>
          It is imperative to initially decompose the long, complex industrial requirements into shorter
requirement clauses that describe elementary instructions individually. This process requires
understanding both the structure (syntax) and meaning (semantics) of the requirement text. In
our first trials to decompose the requirements, we used a naive keyword-based approach. The
conjunctions for introducing conditional clauses like if, when, while and until and for connecting
clauses like and and or were identified in the span of the requirement text and were considered
the boundary of clauses. In the considered use case with well structured requirements, there
were only a few cases where this approach did not work. For example, the phrases "between
sensor 1 and 2" or "less than or equal" should not be considered a boundary despite the presence
of a conjunction. To decompose such requirements correctly, we considered the syntactic
dependencies1 of the requirement text (e.g., using the ancestor tokens of the conjunctions) in
addition to the keywords. Fig. 2 illustrates the decomposition of a requirement (by line breaks)
from our use case. Our use case demands only a simple decomposition algorithm, as proposed
here, to work correctly. However, this could be extended to more linguistic patterns as proposed
in [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ] or to more sophisticated algorithms such as proposed in [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ].
        </p>
        <p>For the further steps in our pipeline, decomposition into requirement clauses is best suited.
A shorter chunk of text (with just the noun phrases) leads to a loss of information and a longer
clause (a whole sentence) leads to erroneous detection of signals and parameters.</p>
        <sec id="sec-4-1-1">
          <title>1using spaCy, https://spacy.io/</title>
        </sec>
      </sec>
      <sec id="sec-4-2">
        <title>4.2. Signal detection</title>
        <p>Once the requirement is decomposed, we compute the cosine similarity between the requirement
clause and all the signal descriptions in the design specification. The signal with the highest
similarity score is then retrieved as the most relevant. To obtain a vector representation
for each requirement clause and signal description, we apply classical techniques including
Term Frequency (TF), static word embeddings including GloVe2 and fastText3 and contextual
embeddings from Sentence-BERT4 (SBERT). We also use FuzzyWuzzy5, which looks for partial
(or inexact) matches between sentence pairs. We also consider ensembles of these methods by
taking the average of the individual similarity scores.</p>
        <p>The evaluation results for signal detection using a total of 107 clauses and 207 signals from the
use case are shown in Table 1. We use TF instead of TF-IDF as we observed that the IDF weights
do not change the result significantly (probably due to the shortness of texts). In agreement with
this argument, we found that removing stop words deteriorated the similarity scores. However,
stemming6 the text before vectorizing with TF gives better results. Pre-trained static embedding
models performed hardly well for detecting signals. We observed that these models have
dificulty distinguishing between, e.g., "extremely high temperature" and "too high temperature"
within the signal description. Though the SBERT model performs very well, there are also some
cases where the model could not distinguish between "device on fault" and "device of fault" .
This could be attributed to the modality of their training, which aims to bring embeddings of
similar words in their representation space as close as possible. As a result, the model gives very
high cosine similarity scores for such pairs and occasionally detects an incorrect signal. Though
FuzzyWuzzy individually did not perform as well as the other methods, when combined with
the relatively better performing TF-stem and SBERT models, the best results were obtained.</p>
        <sec id="sec-4-2-1">
          <title>2using glove.42B.300d from https://nlp.stanford.edu/projects/glove/</title>
          <p>3using wiki-news-300d-1M.vec from https://fasttext.cc/docs/en/english-vectors.html
4using paraphrase-distilroberta-base-v1 from https://github.com/UKPLab/sentence-transformers
5https://github.com/seatgeek/fuzzywuzzy
6using Porter stemmer from NLTK, https://www.nltk.org/_modules/nltk/stem/porter.html</p>
        </sec>
      </sec>
      <sec id="sec-4-3">
        <title>4.3. Parameter detection</title>
        <p>
          After detecting the signals, we need to determine the parameters that are assigned or compared
to the signal values. When parameter names are used within the requirement (e.g., T_ExHi),
they can be easily identified by simple pattern matching in the design specification. In many
cases, however, the parameters are of boolean data type and can only be identified by a semantic
comparison between the two textual statements. In these cases, we need to determine whether
the requirement clause agrees or contradicts with the corresponding signal description to obtain
the parameter. For example, the requirement clause "The valve shall be opened" and the signal
description "close valve .." contradict each other and the parameter is set to false. Conversely, if
the signal description agrees with the requirement clause, the parameter should be detected as
true. Such NLP tasks for detecting contradictions are known to be dificult [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ].
        </p>
        <p>
          Our first trial was antonym synonym detection, where we checked whether the verb in the
requirement clause falls into the antonym sets in WordNet7 of the verb in the signal description.
Similar to this approach, we used the model of Mixture-of-Experts for Antonym-Synonym
Discrimination (MoE-ASD) [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ]. While these methods handle pairs like "activated" and
"deactivated" considerably well, they fail for phrasal negations like "not activated". To overcome this
issue and avoid the ambiguity of model inferences that depend only on the verb, we trained
MoE-ASD with all the POS tags and tried to infer with the sentence representation as input.
        </p>
        <p>We also utilize the similarity scores from the signal detection step and identify the parameter
as true if the scores are above a threshold (empirically set to 0.6) and false otherwise. This
is motivated by the idea that when paraphrasing a sentence into another, one could identify
whether it agrees or contradicts with the other sentence.</p>
        <p>Since textual inference methods can reliably classify a pair of sentences as either agreement
or contradiction, we also resort to sentiment analysis8 to assess the sentiment of the pair and
determine the parameter from it. We also tried to infer the entailment relationship using a
pretrained model9 trained with 3 classification labels. We considered the softmax probabilities for</p>
        <sec id="sec-4-3-1">
          <title>7https://wordnet.princeton.edu/</title>
          <p>8using GLoVe-LSTM from https://demo.allennlp.org/sentiment-analysis/glove-sentiment-analysis
9using ELMo-based Decomposable Attention from https://demo.allennlp.org/textual-entailment/elmo-snli
the labels agreement and contradiction and predicted the parameter accordingly. In neutral cases,
we employed a negation rule that checks for the presence of words that identify a negation.</p>
          <p>Table 2 shows our evaluation results for parameter detection using 85 signals with boolean
parameters, of which 67 are actually true and 18 are false. It is evident from the table that textual
entailment combined with the negation rule gives the best result.</p>
        </sec>
      </sec>
      <sec id="sec-4-4">
        <title>4.4. Model generation</title>
        <p>Once the signals and parameters are identified for each requirement clause, we formulate
a relation (of the form Signal-Operator-Parameter) for each of these clauses. We rely on a
dictionary-based approach10 to identify comparison operators (if any) in the clauses. In Fig. 2
the relations are illustrated for the exemplary requirement. To generate requirement models
from these relations, we introduce a domain-specific language (DSL) with abstract logical
blocks. It maps the relations coming from a conditional clause (if /when/while) to an if-block,
those coming from main clauses to a then-block and those coming from an until-clause to an
until-block. Conjunctions (and/or) identified between relations are also accommodated in these
DSL blocks. Though this mapping appears rather trivial, our aim is to make this translation
simple and flexible, so that ways are open for integration with other sophisticated languages.
The resulting models can also be further transformed into Matlab Simulink models or UML
sequence diagrams, depending on what the end user desires.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Evaluation</title>
      <p>To evaluate the entire pipeline against the 31 requirements from our use case, we combine all the
individual steps from above. We take the requirement texts as input and generate requirement
models with the help of the design specification.</p>
      <p>The evaluation results are shown in Table 3. The average accuracies are calculated as follows.
For each requirement, we calculate the percentage of correctly identified relations. Similarly,
we calculate the accuracy of the logic by counting the correctly connected relations with logical
conjunctions (and/or) and the correctly assigned relations to the logical blocks (if /then/until).
For the accuracy of the model, we count all correctly identified signals, parameters, relations,
and logic. Then, the macro-average over all requirements is calculated and shown in Table 3. The
exact match counts the percentage of completely correct models. While this is a tough metric,
it shows the extent to which the requirements formalization process can be fully automated.</p>
      <p>We observe the best results with the two best ensembles for signal detection together with
the best method (TE-neg) for parameter detection. This combination yields an average accuracy
of 90.7% in evaluating the model across all requirements. The rather low values for exact match
of 54.8% reflect the toughness of the metric, which invalidates a requirement model even if a
single constituent (mostly one parameter in our case) is misidentified, although the remaining
constituents are correctly identified. Some generalized resources of this paper can be found on
GitHub11.</p>
      <p>10using Roget’s Thesaurus, http://www.roget.org/scripts/hier.php/?class=I&amp;division=0&amp;section=III.
11https://github.com/ifak-prototypes/nlp_reform</p>
      <p>Although our approach shows promising results, it has several limitations. One of the main
limitations of our pipeline could be the simple decomposition algorithm that works for our
specific requirements. Therefore we referred to more elaborated algorithms when needed. The
model language is also very limited and contains only the basic behavioral elements. Finally,
we assume that links are provided between artifacts, especially to the components.</p>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusion and outlook</title>
      <p>In this work, we presented an NLP-based approach for automated requirements formalization
using natural language requirements and design specifications. We investigated various NLP
methods for the individual steps of our pipeline and evaluated them on an industrial use case
from the railway domain. We have shown that for signal detection we obtain the best results
using Sentence-BERT combined with FuzzyWuzzy-TSR, and for (boolean) parameter detection
using Textual Entailment supported by a negation rule. When evaluating the entire pipeline, we
found that the requirement models generated using the combination of the two aforementioned
methods yield the highest average accuracy of more than 90% and an exact match of about
55%. These results show that our approach can highly automate the process of requirements
formalization, which can support the requirements engineer in e.g. requirements verification
and test case generation.</p>
      <p>In the future, we plan to integrate this approach into our model-based testing pipeline.
Furthermore, there are several features that could improve our methodology, such as handling
non-functional properties (like durations), prioritizing methods with lower execution time,
domain-specific pre-training and fine-tuning of available models (like SBERT), or learning from
corrected predictions of a domain expert (online learning). Another interesting enhancement
would be to support the requirements design process and the manual creation of the design
specification by providing recommendations for related components and signals in advance.</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgments</title>
      <p>This research was funded by the ITEA3 project XIVT. The German partner was funded by
the BMBF (grant no. 01IS18059E). We thank Bombardier Transportation, an Alstom Group
Company, for providing an industrial use case for the evaluation of the presented method.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>M.</given-names>
            <surname>Utting</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Legeard</surname>
          </string-name>
          ,
          <article-title>Practical Model-Based Testing: A Tools Approach</article-title>
          , Elsevier,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>R.</given-names>
            <surname>Gröpler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Sudhi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. J. Calleja</given-names>
            <surname>García</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Bergmann</surname>
          </string-name>
          ,
          <article-title>NLP-based Requirements Formalization for Automatic Test Case Generation</article-title>
          , in: CS&amp;P'
          <fpage>21</fpage>
          ,
          <year>2021</year>
          , pp.
          <fpage>18</fpage>
          -
          <lpage>30</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>M.</given-names>
            <surname>Reider</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Magnus</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Krause</surname>
          </string-name>
          ,
          <article-title>Feature-based testing by using model synthesis, test generation and parameterizable test prioritization</article-title>
          ,
          <source>in: ICSTW</source>
          ,
          <year>2018</year>
          , pp.
          <fpage>130</fpage>
          -
          <lpage>137</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>L.</given-names>
            <surname>Zhao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Alhoshan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ferrari</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Letsholo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ajagbe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.-V.</given-names>
            <surname>Chioasca</surname>
          </string-name>
          , R. T. Batista-Navarro,
          <article-title>Natural Language Processing (NLP) for Requirements Engineering (RE): A Systematic Mapping Study, ACM Computing Surveys (</article-title>
          <year>2020</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>I. Buzhinsky</surname>
          </string-name>
          ,
          <article-title>Formalization of natural language requirements into temporal logics: a survey</article-title>
          ,
          <source>in: INDIN</source>
          ,
          <year>2019</year>
          , pp.
          <fpage>400</fpage>
          -
          <lpage>406</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>C.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Pastore</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Goknil</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Briand</surname>
          </string-name>
          ,
          <article-title>Automatic Generation of Acceptance Test Cases from Use Case Specifications: an NLP-based Approach</article-title>
          , TSE (
          <year>2020</year>
          )
          <fpage>1</fpage>
          -
          <lpage>38</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>R. C. De Boer</surname>
            ,
            <given-names>H. Van Vliet</given-names>
          </string-name>
          ,
          <article-title>On the similarity between requirements and architecture</article-title>
          ,
          <source>Journal of Systems and Software</source>
          <volume>82</volume>
          (
          <year>2009</year>
          )
          <fpage>544</fpage>
          -
          <lpage>550</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>A.</given-names>
            <surname>Brunello</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Montanari</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Reynolds</surname>
          </string-name>
          ,
          <article-title>Synthesis of LTL formulas from natural language texts: State of the art and research directions</article-title>
          , in: TIME,
          <year>2019</year>
          , pp.
          <volume>17</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>17</lpage>
          :
          <fpage>19</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>D.</given-names>
            <surname>Giannakopoulou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Pressburger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Mavridou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Schumann</surname>
          </string-name>
          ,
          <source>Automated formalization of structured natural language requirements, Information and Software Technology</source>
          <volume>137</volume>
          (
          <year>2021</year>
          )
          <fpage>106590</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>M.</given-names>
            <surname>Bernaerts</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Oakes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Vanherpen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Aelvoet</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Vangheluwe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Denil</surname>
          </string-name>
          ,
          <article-title>Validating industrial requirements with a contract-based approach</article-title>
          , in: MODELS-C,
          <year>2019</year>
          , pp.
          <fpage>18</fpage>
          -
          <lpage>27</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>E.</given-names>
            <surname>Stachtiari</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Mavridou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Katsaros</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Bliudze</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Sifakis</surname>
          </string-name>
          ,
          <article-title>Early validation of system requirements and design through correctness-by-</article-title>
          <string-name>
            <surname>construction</surname>
          </string-name>
          ,
          <source>J. Syst. Softw</source>
          .
          <volume>145</volume>
          (
          <year>2018</year>
          )
          <fpage>52</fpage>
          -
          <lpage>78</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. Sun,</surname>
          </string-name>
          <article-title>PASER: a pattern-based approach to service requirements analysis</article-title>
          ,
          <source>Int. J. Softw. Eng. Knowl. Eng</source>
          .
          <volume>29</volume>
          (
          <year>2019</year>
          )
          <fpage>547</fpage>
          -
          <lpage>576</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>V.</given-names>
            <surname>Leitão</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Medeiros</surname>
          </string-name>
          , SRXCRM:
          <article-title>Discovering Association Rules Between System Requirements and Product Specifications</article-title>
          , in: NLP4RE'
          <fpage>21</fpage>
          ,
          <year>2021</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>9</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>S.</given-names>
            <surname>Sharma</surname>
          </string-name>
          ,
          <string-name>
            <surname>B. Sodhi,</surname>
          </string-name>
          <article-title>APR: architectural pattern recommender</article-title>
          ,
          <source>in: SAC'17</source>
          ,
          <year>2017</year>
          , pp.
          <fpage>1225</fpage>
          -
          <lpage>1230</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>K.</given-names>
            <surname>Niklas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Gärtner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Schneider</surname>
          </string-name>
          ,
          <article-title>Consistency checks of design specifications against requirements using graph-based linguistic analysis</article-title>
          ,
          <source>in: SAC'16</source>
          ,
          <year>2016</year>
          , pp.
          <fpage>1546</fpage>
          -
          <lpage>1549</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>J.</given-names>
            <surname>Natt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Regnell</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Carlshamre</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Andersson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Karlsson</surname>
          </string-name>
          ,
          <article-title>Evaluating automated support for requirements similarity analysis in market-driven development</article-title>
          ,
          <source>in: REFSQ'01</source>
          ,
          <year>2001</year>
          , pp.
          <fpage>190</fpage>
          -
          <lpage>201</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>D.</given-names>
            <surname>Falessi</surname>
          </string-name>
          , G. Cantone,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Canfora, Empirical principles and an industrial case study in retrieving equivalent requirements via natural language processing techniques</article-title>
          ,
          <source>TSE</source>
          <volume>39</volume>
          (
          <year>2011</year>
          )
          <fpage>18</fpage>
          -
          <lpage>44</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>M.</given-names>
            <surname>Ilyas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Küng</surname>
          </string-name>
          ,
          <article-title>A comparative analysis of similarity measurement techniques through SimReq framework</article-title>
          ,
          <source>in: FIT'09</source>
          ,
          <year>2009</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>M.</given-names>
            <surname>Abbas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Saadatmand</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Enoiu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Sundamark</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Lindskog</surname>
          </string-name>
          ,
          <article-title>Automated reuse recommendation of product line assets based on natural language requirements</article-title>
          ,
          <source>in: ICSR</source>
          ,
          <year>2020</year>
          , pp.
          <fpage>173</fpage>
          -
          <lpage>189</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>E.</given-names>
            <surname>Simonson</surname>
          </string-name>
          ,
          <article-title>A Model-Based Design Adoption Story from Bombardier Transportation</article-title>
          ,
          <source>in: MATLAB EXPO 2018 Sweden</source>
          ,
          <year>2018</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>16</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>M.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Peng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Marcus</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Treude</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Bai</surname>
          </string-name>
          , G. Lyu,
          <string-name>
            <given-names>J.</given-names>
            <surname>Xie</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <article-title>Learning-based extraction of first-order logic representations of API directives</article-title>
          , in: ESEC/FSE,
          <year>2021</year>
          , pp.
          <fpage>491</fpage>
          -
          <lpage>502</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>J.</given-names>
            <surname>Malin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Millward</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Gomez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Throop</surname>
          </string-name>
          ,
          <article-title>Semantic annotation of aerospace problem reports to support text mining</article-title>
          ,
          <source>IEEE Intelligent Systems</source>
          <volume>25</volume>
          (
          <year>2010</year>
          )
          <fpage>20</fpage>
          -
          <lpage>26</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>R.</given-names>
            <surname>Rivera</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Martinez</surname>
          </string-name>
          ,
          <article-title>The Impact of Pretrained Language Models on Negation and Speculation Detection in Cross-Lingual Medical Text: Comparative Study</article-title>
          ,
          <source>JMIR Medical Informatics</source>
          <volume>8</volume>
          (
          <year>2020</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Xie</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Zeng</surname>
          </string-name>
          ,
          <article-title>A Mixture-of-Experts Model for Antonym-Synonym Discrimination</article-title>
          ,
          <source>in: Proceedings of ACL-IJCNLP</source>
          ,
          <year>2021</year>
          , pp.
          <fpage>558</fpage>
          -
          <lpage>564</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>