<!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>CORDULA: Software Requirements Extraction Utilizing Chatbot as Communication Interface</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Edwin Friesen</string-name>
          <email>edwinf@mail.upb.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Frederik S. Baumer</string-name>
          <email>fbaeumer@mail.upb.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Michaela Geierhos</string-name>
          <email>geierhos@mail.upb.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Paderborn</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>Natural language requirement descriptions are often unstructured, contradictory and incomplete and are therefore challenging for automatic processing. Although many of these de cits can be compensated by means of natural language processing, there still remain cases where interaction with end-users is necessary for clari cation. In this vision paper, we present CORDULA, a system using chatbot technology to establish end-user communication in order to support the requirement elicitation and partial compensation of de cits in user requirements.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>Copyright c 2018 by the paper's authors. Copying permitted for private and academic purposes.</p>
      <p>1For more information about OTF computing, visit http://sfb901.upb.de</p>
    </sec>
    <sec id="sec-2">
      <title>Current Challenges</title>
      <p>During the development and testing of the current version of CORDULA, we mainly faced four types of challenges.</p>
      <p>The rst two challenges are related to the compensation of incompleteness and inaccuracy in UR. There are
always cases in which no gold standard exists for compensation (missing information) or in which several
di erent suggestions have the same probability (stalemate situation). In such cases, the system cannot make
a decision and relies on end-user interaction.</p>
      <p>The third and fourth challenges arise from the di erent NLP components CORDULA uses. Heterogeneous
results (e.g. POS tags) of individual components (e.g. requirement extraction and lexical disambiguation) can
con ict each other (contradictory information). In the past, we tried to solve this problem by assigning some
priority to one of the con icting components, which means that one partial result is overwritten by another.
However, the predominant component may have been wrong in its decision and destroys the overall result. For
example, if the requirement extraction has recognized a process word (\to display") and the component for
lexical disambiguation detects this word as a noun (\display"), it will overwrite the previous POS tag. As a
result, no structured software requirement can be generated, because the core process word (Action) is missing
and the requirement will simply be ignored. It would be easy to detect this error because there has to be at least
one process word per sentence, but the nal decision must be made by the end-user in this case (known but
not solvable problems).</p>
      <p>Sometimes situations arise in which information must be provided subsequently or the system is unable to
cope with a given input. However, it cannot be assumed that end-users will be able to understand the identi ed
problems at once and solve them. For this reason, we develop a Knowledge Base (KB) and enrich it with
instructions and examples. Moreover, it is not su cient to attach a chat functionality to the existing system,
but it must become the single point of contact for the users. For this reason, several design questions arise in
addition to conceptual questions.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Vision: Let's Talk with CORDULA</title>
      <p>The revised version of CORDULA aims to overcome the named weaknesses of the existing system. This already
begins with the design of the web interface, which has to be changed in that a dialog between end-users and the
system is in the centre of attention (cf. Figure 2) and also a ects fundamental system components such as the
KB or the internal communication between the system components.</p>
      <p>The idea of using a chatbot has a strong e ect on the underlying system architecture of the current version
of CORDULA. Until now, the entire processing pipeline was concentrated on a static input text. Now, new
information can be added which can also a ect already processed requirements. For this reason, a requirements
manager should be installed to monitor the e ects of the user dialog as well as the changes in the software
requirements made via the GUI.
3.1</p>
      <sec id="sec-3-1">
        <title>Interactive GUI</title>
        <p>The main layer shown in Figure 2 is divided into two parts: a chat window on the left and the \speci cation box"
on the right. The chat window expects input from end-users in order to provide requirements and additional
information. The user input will be forwarded to the server and processed. The server's response will be
articulated via the chatbot. Inaccuracies are pointed out and a selection of tailored action proposals is o ered
(e.g. context-speci c suggestions to compensate incompleteness, cf. Figure 3). While chatting, the end-users
can con rm the system's suggestion or reject it. Additionally, the requirement can be edited or deleted. This
means that users communicate with the system in two ways. On the one hand, users transfer the requirements
to CORDULA via the chat interface and receive an immediate response. On the other hand, they will be asked
to react to certain circumstances (e.g. missing information) and get a chat that adapts to the situation. These
interaction possibilities are directly related to the chat history (cf. Subsection 3.2), in which further instructions
and examples can be given by CORDULA. As shown on the right-hand side of Figure 2, end-users can oversee
and edit the software requirements. This view also contains additional information on semantics and (lexical)
annotations and is considered as a debugging view. In order not to discourage the end-users, CORDULA should
brie y explain the functions at the beginning of the conversation. End-users should continue only transmitting
their requirements and, in the best possible case, not take any further action at all.
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>Sample Dialog</title>
        <p>For a better understanding of CORDULA's functionality, we illustrate an exemplary conversation and interaction
of CORDULA and a user below. The dialog below (Table 1) is a protocol of how the actors and system
components could interact, demonstrated through a vague user requirement.</p>
        <p>Action
&lt;accesses CORDULA's web GUI&gt;
&lt;explains functionality, o ers help&gt;
&lt;asks for requirements, gives examples&gt;
\I want to send large emails."
&lt;NLP&gt;
&lt;Requirement Classi cation: true&gt;
&lt;OnTopic Classi cation: true&gt;
&lt;Semantic Information Labeling: Role, Priority,
Action, Object&gt;
&lt;Indicator Checking&gt;
&lt;Token \large" classi ed as vague&gt;
&lt;Action: send , Object: emails ! Email-Service
added&gt;
\A vague term has been found: large emails.</p>
        <p>Please use concrete values (e.g. 500 MBs)."
&lt;clicks the edit button&gt;
2Requirement Extraction and Classi cation Tool [DG16]
Notes
structures, annotations etc.
input: Chat or Requirement?
input relevant/on topic?
requirement labels for further
analysis
pattern/rule-based search
e.g. list matching or from KB
KB: Action-Object relation
corresponds to Service</p>
      </sec>
      <sec id="sec-3-3">
        <title>Reference</title>
        <p>Figure 2
[DG16]
[DG16]
Fig. 3, [DG16]
&lt;\I want to send large emails of at least
200MBs."&gt;
&lt;submits the changes&gt;
&lt;processing like before&gt;
&lt;requirement and speci cation is updated&gt;
\Your requirement seems to be correct now. New
functionality E-Mail Service added to your
speci cation."
templates used by bot for
prompts and responses
As we have shown, our current approach for the automatic detection and compensation of linguistic inaccuracies
and incompleteness is not able to solve all de cits (cf. Section 2). Therefore, we still depend in part on
information provided by end-users. However, since these users have no technical background, they must be
supported by a chatbot to be e ciently guided through this process (cf. Section 3). At this point, as we have
pointed out, it is not su cient to simply add a chatbot to the previous system. Rather, the entire architecture
of the system should switch to interaction and also adapt the design of the GUI. Here, we already outlined some
changes we expect to see. However, we expect further challenges, which will accompany us in the development
of the next version of CORDULA. The vision described here is only a beginning.</p>
        <p>Communication: In the current version of CORDULA, end-users transfer a coherent text to the system as
one RD. This puts the individual statements in context. A chat dialog, as we want to introduce it, breaks up
this context, which can make processing, such as disambiguation, more di cult. Furthermore, the text quality
could further decrease because end-users use a kind of \chat language". Both cases make it necessary to revise
the current requirement extraction and classi cation and to train for the new text genre.</p>
        <p>Knowledge base: NLP resources in the area of UR are very rare [TLK15]. This includes resources for
detection and compensation as well as real UR, which are needed for machine learning approaches. This
problem is aggravated by the lack of instruction texts and examples as needed in our chat approach. Users are
supported by the system only if it is very close to their own requirement description in domain and wording. A
rigid collection of example sentences does not do justice to this claim. An approach for context-sensitive help
and requirement examples must be found here.</p>
        <p>We believe that we meet the requirements of OTF computing for a fast execution, even with a slower chat
solution. The composition of services is a complex task whose success also depends on correctly recognized UR.</p>
      </sec>
      <sec id="sec-3-4">
        <title>Acknowledgements</title>
        <p>This work was partially supported by the German Research Foundation (DFG) within the Collaborative Research
Center \On-The-Fly Computing" (SFB 901).
[SJ15]</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [Ban15]
          <article-title>Muneera Bano. Addressing the Challenges of Requirements Ambiguity: A Review of Empirical Literature</article-title>
          .
          <source>In Proceedings of the 5th International Workshop on EmpiRE</source>
          , pages
          <volume>21</volume>
          {
          <fpage>24</fpage>
          , Ottawa, ON, Canada,
          <year>August 2015</year>
          . IEEE.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [Bau17]
          <article-title>Frederik Simon Baumer. Indikatorbasierte Erkennung und Kompensation von ungenauen und unvollstandig beschriebenen Softwareanforderungen</article-title>
          .
          <source>Phd thesis</source>
          , University of Paderborn, Paderborn, Germany,
          <year>July 2017</year>
          . ISBN:
          <fpage>978</fpage>
          -3-
          <fpage>942647</fpage>
          -91-5.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [BG18]
          <string-name>
            <surname>Frederik S. B</surname>
          </string-name>
          <article-title>aumer and Michaela Geierhos. Flexible Ambiguity Resolution and Incompleteness Detection in Requirements Descriptions via an Indicator-based Con guration of Text Analysis Pipelines</article-title>
          .
          <source>In Proceedings of the 51st Hawaii International Conference on System Sciences</source>
          , pages
          <volume>5746</volume>
          {
          <fpage>5755</fpage>
          ,
          <string-name>
            <surname>Big</surname>
            <given-names>Island</given-names>
          </string-name>
          , Waikoloa Village, USA,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [DG16]
          <article-title>[GB17] Markus Dollmann</article-title>
          and
          <string-name>
            <given-names>Michaela</given-names>
            <surname>Geierhos</surname>
          </string-name>
          . On- and
          <string-name>
            <given-names>O</given-names>
            <surname>-Topic</surname>
          </string-name>
          <article-title>Classi cation and Semantic Annotation of User-Generated Software Requirements</article-title>
          .
          <source>In Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing</source>
          , pages
          <year>1807</year>
          {
          <year>1816</year>
          , Austin, TX, USA,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <given-names>Michaela</given-names>
            <surname>Geierhos</surname>
          </string-name>
          and
          <article-title>Frederik Simon Baeumer</article-title>
          .
          <article-title>Guesswork? Resolving Vagueness in User-Generated Software Requirements</article-title>
          . In Henning Christiansen,
          <string-name>
            <given-names>M.</given-names>
            <surname>Dolores Jimenez</surname>
          </string-name>
          <string-name>
            <surname>Lopez</surname>
          </string-name>
          , Roussanka Loukanova, and Lawrence S. Moss, editors,
          <source>Partiality and Underspeci cation in Information, Languages, and Knowledge, Partiality and Underspeci cation in Information, Languages, and Knowledge</source>
          , chapter
          <volume>3</volume>
          , pages
          <fpage>65</fpage>
          {
          <fpage>108</fpage>
          . Cambridge Scholars Publishing,
          <year>September 2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [GSB15]
          <article-title>Michaela Geierhos, Sabine Schulze, and Frederik Simon Baumer. What did you mean? Facing the Challenges of User-generated Software Requirements</article-title>
          .
          <source>In Proceedings of the 7th International Conference on Agents and Arti cial Intelligence</source>
          , pages
          <fpage>277</fpage>
          {
          <fpage>283</fpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [HB15]
          <article-title>Shahid Husain and Rizwan Beg. Advances in Ambiguity less NL SRS: A review</article-title>
          .
          <source>In Proceedings of ICETECH 2015</source>
          , pages
          <fpage>221</fpage>
          {
          <fpage>225</fpage>
          ,
          <string-name>
            <surname>Coimbatore</surname>
            ,
            <given-names>TN</given-names>
          </string-name>
          , India,
          <year>March 2015</year>
          . IEEE.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <source>PhD thesis</source>
          , Unnati S. Shah and
          <string-name>
            <given-names>Devesh C.</given-names>
            <surname>Jinwala</surname>
          </string-name>
          .
          <article-title>Resolving Ambiguities in Natural Language Software Requirements: A Comprehensive Survey</article-title>
          .
          <source>SIGSOFT Software Engineering Notes</source>
          ,
          <volume>40</volume>
          (
          <issue>5</issue>
          ):1{
          <fpage>7</fpage>
          ,
          <string-name>
            <surname>September</surname>
          </string-name>
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <surname>[TLK15] Walter F. Tichy</surname>
          </string-name>
          , Mathias Landhau er, and
          <string-name>
            <surname>Sven J. K</surname>
          </string-name>
          <article-title>orner</article-title>
          . nlrpBENCH:
          <article-title>A Benchmark for Natural Language Requirements Processing</article-title>
          .
          <source>In Multikonferenz Software Engineering &amp; Management</source>
          <year>2015</year>
          , pages
          <fpage>159</fpage>
          {
          <fpage>164</fpage>
          ,
          <string-name>
            <surname>March</surname>
          </string-name>
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>