<!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>Workshops, OpenRE, Posters and Tools Track, and Doctoral Symposium, Essen,
Germany</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Continuous Rationale Identification in Issue Tracking and Version Control Systems</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Anja Kleebaum</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Barbara Paech</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jan Ole Johanssen</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Bernd Bruegge</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute for Computer Science, Heidelberg University</institution>
          ,
          <addr-line>Heidelberg</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Technical University of Munich</institution>
          ,
          <addr-line>Munich</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2021</year>
      </pub-date>
      <volume>1</volume>
      <fpage>2</fpage>
      <lpage>04</lpage>
      <abstract>
        <p>During the elicitation and implementation of requirements, the involved stakeholders make decisions and build up important decision knowledge, which they should make explicit and share. Issue tracking and version control systems ofer opportunities for a lightweight capture of decision knowledge but currently lack techniques for making this knowledge explicit. In this paper, we present techniques to make decision knowledge explicit in the text of issue tracking and version control systems. We present features for its manual documentation as well as for its automatic identification using a text classifier. The text classifier identifies implicit decision knowledge in natural language texts, in particular, in the description and comments of tickets in the issue tracking system and commit messages.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Rationale Management</kwd>
        <kwd>Decision Knowledge</kwd>
        <kwd>Text Classification</kwd>
        <kwd>Natural Language Processing</kwd>
        <kwd>ConDec</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Decision knowledge, which is also referred to as rationale, is built up by requirements engineers,
product owners, developers, and stakeholders of other roles during their daily tasks, i. e., while
they elicit, prioritize, document, validate, manage, implement, and verify requirements [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
Decision knowledge covers decision problems, their solution decisions, alternative solution
options, and arguments [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. The success of a software development project is closely linked
to the stakeholders’ ability to document and share their decision knowledge. Otherwise, the
knowledge vaporizes and is no longer accessible for other stakeholders or even for the same
stakeholders in the future [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. However, documenting decision knowledge, i. e., making it
explicit, is not an easy task [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Thus, decision knowledge often stays tacit or—if captured—is
implicitly hidden in development artifacts such as commit messages and issue tracking data. We
argue that the reason for this is the lack of techniques for making decision knowledge explicit
in issue tracking systems (ITS) and version control systems (VCS).
      </p>
      <p>
        Our overall goal is to develop techniques and workflows for a continuous decision knowledge
management. In our previous work, we stated requirements [
        <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
        ] and presented tool support
called ConDec [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. With ConDec, requirements engineers and developers continuously
document, share, and exploit decision knowledge in relation to other knowledge. In ConDec, all
software artifacts, i. e. requirements and code, are referred to as knowledge elements. ConDec
builds up a knowledge graph consisting of knowledge elements and trace links, which can
be exploited by requirements engineers and developers for various purposes, e. g., for change
impact analysis and during meetings.
      </p>
      <p>In this paper, we focus on the Natural Language Processing (NLP) aspects of ConDec. We
present tool features to document decision knowledge in the text of ITS and VCS, i. e., to
make rationale explicit. In particular, we present how the documentation can be supported by
an automatic text classifier. The text classifier is embedded in the ConDec Jira plug-in1 that
integrates into the ITS Jira. It classifies both Jira issue text (description and comments) as well as
commit messages. It can be applied retrospectively on an existing set of Jira issues and commit
messages. It is also of use during active development, i. e., while developers incrementally
and collaboratively document decision knowledge. Thus, developers can directly validate the
correctness of the identified decision knowledge. This distinguishes the ConDec classifier from
existing work. The training data for the classifier covers relevant decision knowledge elements
as well as irrelevant text. While ConDec ofers a default training data set, the data of the current
development project can also be used for the training. Besides, the classifier provides online
training possibilities. We present first evaluation results on the quality of the text classifier.</p>
      <p>In Section 2, we present the approach to document decision knowledge in the text of ITS and
VCS. In Section 3, we present the text classifier to support the documentation. Subsequently,
Section 4 presents the evaluation, Section 5 related work, and Section 6 concludes the paper.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Explicit Rationale in the ITS and VCS</title>
      <p>In this section, we present the manual decision knowledge documentation in the ITS and VCS.
We use developers as an example for stakeholders of diferent roles. Developers document
decision knowledge when they 1) capture it, i. e., write it down, 2) annotate it, and 3) link it to
other knowledge elements in the knowledge graph. Knowing this documentation approach is
necessary to understand what we aim to support with the automatic text classifier (Section 3).</p>
      <sec id="sec-2-1">
        <title>2.1. Process Assumptions: Requirements in the ITS and Trace Links</title>
        <sec id="sec-2-1-1">
          <title>We make the following assumptions regarding requirements and trace links:</title>
          <p>A1 Explicit Requirements: Requirements are documented in the ITS in an explicit way.
That means that there are specific issue types, e. g., for epics and user stories or scenarios.</p>
          <p>
            A2 Trace Links Between Requirements and Code: Trace links between requirements
in the ITS and code files in VCS are created and maintained. This is commonly done in a
commit-based way using issue identifiers in commit messages [
            <xref ref-type="bibr" rid="ref8">8</xref>
            ] or with other techniques [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ].
          </p>
          <p>A3 Trace Links Between ITS Issues: Also, the issues in the ITS are linked amongst each
other. For example, a requirement is linked to its development tasks or—when using a
hierarchical requirements model—epics are linked to user stories.</p>
        </sec>
        <sec id="sec-2-1-2">
          <title>1https://github.com/cures-hub/cures-condec-jira</title>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. Features For Making Rationale Explicit in the ITS and VCS</title>
        <p>We present the ConDec tool features (F1 – F5) that enable manual decision knowledge
documentation in the ITS and VCS. For every tool feature, we describe the task of the developer
and some details, such as high-level design decisions that we made during its implementation.</p>
        <p>F1 Easy capture: Developers capture (write down) decision knowledge within their current
development context, in particular, within the text of ITS and VCS. We needed to decide where to
capture decision knowledge. We decided to support the four documentation locations possible
in the ITS and VCS: 1) documentation as entire ITS issues, similar to A1 for requirements,
2) documentation in the description and comments of existing ITS issues, e. g., in requirements
or development tasks, 3) documentation in commit messages, and 4) documentation in code
comments. These documentation locations enable decisions to be traced to requirements in the
ITS and code in the VCS and can be used interchangeably. With the trace links in assumption
A2 and A3, it is only a minor diference whether a decision is documented within the ITS, e. g.,
in the comment of a development task, or in the VCS, e. g., in a commit message linked to the
development task. In either location, the decision can be accessed from the requirement.</p>
        <p>F2 Explicit capture: Developers annotate text as decision knowledge elements to make the
decision knowledge explicit. If decision knowledge elements are documented as entire ITS
issues, they are explicit because of their type. In Jira issue text and commit messages, developers
use a markup syntax, e. g., [decision] ... [/decision], whereas in code comments, they use a
JavaDoc-like syntax, e. g. @decision ..., to annotate parts of text as decision knowledge elements.
To integrate the parts of text as nodes in the knowledge graph, we decided to store them in the
Jira database via object-relational mapping including their start and end positions in the text.</p>
        <p>F3 Linking: Developers link decision knowledge elements to other knowledge elements so that
they can be accessed within the knowledge graph. Explicit decision knowledge elements are
nodes in the knowledge graph that can only be accessed from other nodes (knowledge elements)
if they are linked. For this purpose, ConDec supports manual linking between all knowledge
elements. Besides, ConDec ofers techniques to automatically link knowledge elements within
the knowledge graph, e. g., decisions to decision problems and code to requirements via commits.
ConDec uses both Jira issue links and custom links, e. g., to link a requirement and the decision
knowledge elements in its comments. The custom links are stored via object-relational mapping.</p>
        <p>F4 Change: Developers change and delete knowledge elements as well as trace links between
them. To maintain a consistent knowledge graph, developers need to ensure that the knowledge
elements and links are correctly documented. For instance, developers need to change the
annotations from F2, for example, to pick an alternative as the decision. Commit messages are
diferent from the other three documentation locations as they are frozen by nature. They could
be changed using a technique called (reword) rebasing, but this should only be done on the
mainline. ConDec transcribes commit messages into ITS issue comments so that they can be
changed (even just for spelling corrections) and so that they can be annotated.</p>
        <p>
          F5 Attribute assignment: Developers provide attributes for knowledge elements. Similar to
requirements, decision knowledge elements need attributes to document important metadata.
For example, attributes can be the state, e. g., idea, decided, rejected, a decision level [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] or
group [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. We needed to solve the issue of how to store attributes for the parts of natural
language text. ConDec stores attributes for parts of text via object-relational mapping (see F2).
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>2.3. Example for Explicit Rationale and Views on the Knowledge Graph</title>
        <p>
          We use a decision problem that we needed to solve for the development of the text classifier (see
Subsection 3.4) as an example: Which library should we choose to implement the classifier?
This decision problem could be documented in each of the four documentation locations of F1.
Figure 1 shows that it is documented in a Jira issue comment of the requirement Automatically
identify decision knowledge within the text of Jira issues. The discussion on how to solve this
decision problem is scattered in further comments and a commit message for the requirement as
well as in a linked development task. The state of the first decision is rejected as it was replaced
by a new decision documented during the implementation of the development task. ConDec
ofers various views on the knowledge graph [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. Figure 2 shows a diferent tree view than in
Figure 1. The developers filtered this view to only see decisions and their arguments concerning
the requirement. Filtered-out knowledge elements are replaced by transitive links.
1
5
2
3
4
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Automatic Text Classification</title>
      <p>This section presents the automatic text classification. First, we describe ConDec’s tool features
and their integration in the development process. Then, we describe the ground truth data used
for training and evaluation, the preprocessing, the classifier(s), and implementation details.</p>
      <sec id="sec-3-1">
        <title>3.1. Features for the Automatic Text Classification to Identify Rationale</title>
        <p>ConDec ofers the following tool features for the automatic identification of rationale:</p>
        <p>F6 Automatic annotation: The classifier predicts whether the textual parts in the Jira issue
description, comments, or commit messages are relevant decision knowledge elements and—if yes—
it annotates the parts accordingly. Thus, the classifier supports developers to make decision
knowledge elements explicit, i. e., it automates F2 for the explicit capture. We decided to
not automatically classify code comments because they are unlikely to be used as locations
for natural language discussions. The automatic annotation is part of the daily development.
Besides, it can be applied retrospectively to existing projects.</p>
        <p>F7 Easy training: Developers train the classifier on training data from other projects and also
on the decision knowledge documented for their current development project. The text classifier
is supervised, i. e., it needs training data to learn how to make predictions. We decided to add
a default training file to enable the classification in new or existing projects without explicit
rationale management. The training is performed in Jira. Online training is possible, i. e., newly
documented knowledge elements are directly used for training. Besides, developers can create
training data files from their development projects as well as import and export such files. The
preprocessing (Subsection 3.3) is automatically performed.</p>
        <p>F8 Easy evaluation: Developers evaluate the classifier on the data of their current development
project but also on the data of other projects. The evaluation is directly possible in Jira. The
training data can also be used for evaluation but is then split via k-fold cross-validation.</p>
        <p>F9 Manual approval: Developers manually approve the classification result, i. e., developers
decide whether the annotations are correct or not. The manual approval of classified parts of
text is important to determine which parts of text can be used as training and evaluation data,
i. e., as the ground truth for F7 and F8. Only the parts of text that are correctly annotated or
correctly identified as irrelevant should be used as the ground truth. The information whether
or not a classified part of text was manually approved by a human is stored in an attribute (F5).</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Ground Truth Data</title>
        <p>The ground truth for the text classifier comprises parts of text. The parts of text are either
relevant decision knowledge elements or irrelevant. Each part of text is associated with a binary
and a fine-grained label for its relevance and decision knowledge type, respectively. Five types
are distinguished: issue, decision, alternative, pro-, and con-argument. As one preprocessing
step for the classification is sentence splitting (see Subsection 3.3), the text classifier predicts new
classifications (labels) for single sentences. However, the developer could also manually annotate
sub-sentences or multiple sentences as one decision knowledge element. Then, the respective
training data entry, i. e., the part of text, comprises a sub-sentence or multiple sentences. Table 1
shows a subset of the default training data included in the ConDec Jira plug-in.</p>
        <p>Here’s a small screenshot of the current state.</p>
        <p>What configuration possibilities should users have?
We decided to allow the following configuration . . .</p>
        <p>The user could configure the classifier algorithm.</p>
        <p>This will improve the performance.</p>
        <p>I think this may be a bit confusing to the user.</p>
        <p>The parts of text in the training data are taken from Jira issue text (description and comments),
commit messages, and code comments. Code comments only contribute relevant decision
knowledge elements. One decision problem in ConDec is how to deal with text from diferent
documentation locations: Should we treat Jira issue text and commit messages equally or should
there be diferent text classifiers? We decided to treat the documentation locations equally.
In the future, it needs to be evaluated whether two diferent classifiers for Jira issue text and
commit messages would perform better than one unique classifier.</p>
      </sec>
      <sec id="sec-3-3">
        <title>3.3. Preprocessing</title>
        <p>
          We use the following preprocessing steps: 1) sentence splitting, 2) conversion of sentences to
lowercase, 3) tokenizing, 4) vector representation of words via Global Vectors for Word
Representation (GloVe), 5) n-gram generation (with n=3). These preprocessing steps are commonly
applied in NLP applications for requirements engineering [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] except for step 4: GloVe aims
to represent the semantics of words [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] and is similar to Word2Vec, which is a rather novel
technique [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]. We do not apply stemming and stop word removal because the words in GloVe
are not stemmed and because stop words might be important parts of rationale [
          <xref ref-type="bibr" rid="ref14 ref15">14, 15</xref>
          ].
        </p>
      </sec>
      <sec id="sec-3-4">
        <title>3.4. Classifiers and ConDec Implementation</title>
        <p>
          We use two classifiers in a row: one for binary and one for fine-grained predictions, similar to
Alkadhi et al. [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. Only if the binary classifier predicts a sentence as relevant, the sentence
serves as the input for the fine-grained classifier. As shown in the figures of Subsection 2.3, we
decided to integrate the Statistical Machine Intelligence and Learning Engine (SMILE) library2
into the ConDec Jira plug-in, because SMILE is implemented in Java and provides
onlinelearning capabilities. For the preprocessing, we use the SMILE NLP component. ConDec ofers
a settings page for the automatic text classification, where developers can train and evaluate
the binary and fine-grained classifiers. For instance, they can configure the machine learning
algorithm, e. g., choose between logistic regression and support vector machine (SVM). The code
for the ConDec Jira plug-in including the implementation of the automatic text classification as
well as the data used for the evaluation (Section 4) can be found on GitHub3.
        </p>
        <sec id="sec-3-4-1">
          <title>2https://haifengl.github.io 3https://github.com/cures-hub/cures-condec-jira/blob/master/doc/features/automatic-text-classification.md</title>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Evaluation of the Automatic Text Classification</title>
      <p>We evaluated the performance of the automatic text classifiers on the decision knowledge
documentation of the ConDec Jira plug-in. During the development of the plug-in, we document
decision knowledge in Jira and git as described in Section 2. We used irrelevant parts of text as
well as decision knowledge elements from the ConDec Jira development project as the ground
truth to train and evaluate the text classifier. The data set comprises 1468 relevant decision
knowledge elements and 220 irrelevant parts of text. From the decision knowledge elements,
392 are issues (decision problems), 332 are decisions, 218 are alternatives, 288 pro-arguments,
and 238 con-arguments. We used random undersampling to balance 1) relevant and irrelevant
parts of text and 2) the decision knowledge elements by their type. We then used 10-fold
cross-validation to train and evaluate 1) the binary and 2) fine-grained classifiers. Table 2 shows
the results of the evaluation for logistic regression (LR) classifiers.</p>
      <p>
        The results of our evaluation are partly worse compared with the results reported by others.
For example, Bhat et al. [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] and Li et al. [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] achieved an F1-score above 0.7 for decisions,
whereas we currently achieve 0.39. There might be various reasons for this: First, alternatives
and decisions can be hard to distinguish, even for humans [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. Second, every entry in the
ground truth needs to be manually approved (F9) but also the manual classification is subjective
and might be wrong. Third, we focused on the specification and implementation of ConDec’s
tool features (F1 – F9) for the manual and automatic text classification rather than on performing
systematic experiments regarding the preprocessing and classifiers.
      </p>
      <p>
        Another aspect, which needs to be discussed, is that our data set might be rather artificial
because the text was already written as we want decision knowledge elements to be written.
For example, most issues are formulated as questions. Other projects with no explicit decision
knowledge management are likely to be diferent. In particular, it might be problematic that
the classifier classifies entire sentences: First, one sentence could contain multiple decision
knowledge elements. Second, one decision knowledge element could be distributed over a
longer part of text [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. However, as one goal—next to the retrospective application—is to
integrate the classifier into the daily development and to nudge the developers to create a clear
decision knowledge documentation, other training data can be similar to the ConDec data.
      </p>
    </sec>
    <sec id="sec-5">
      <title>5. Related Work</title>
      <p>
        In this section, we discuss related work regarding the integration of automatic rationale
identification into software development tools and workflows. There are various approaches concerning
the automatic identification of rationale in natural language text, e. g., [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ],
and [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. Most of the existing approaches apply the automatic classification retrospectively on
a ground truth that the researchers created. There are only a few approaches that integrate
automatic text classification into tools and workflows for software development. As part of
their future work, Rogers et al. [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] and Lester et al. [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] plan to integrate text classification
into existing knowledge management tools. Lester et al. [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] work on text classification
integration into the C_SEURAT tool for Collaborative Software Engineering Using Rationale. Bhat et al.
[
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] developed the ADeX tool to manage architectural design decisions that also ofers text
classification for decisions. They use the architecture knowledge management system AMELIE
to collect and access knowledge for requirements. ConDec uses the ITS (Jira) and VCS (git) as
the central repositories for decision knowledge, requirements, and code.
      </p>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusions and Future Work</title>
      <p>ConDec enables developers to informally capture decision knowledge and integrates features
for the automatic classification into their daily work instead of only applying it retrospectively.
With ConDec, the developers can create the ground truth for the training and evaluation of
the classifiers themselves. They are confronted with the views on the knowledge graph during
their active development and are thus nudged to improve and exploit the documentation.</p>
      <p>Decision knowledge can be captured in other locations, such as chat messages, pull requests,
or wiki pages. We also work on other ConDec integrations4, for example, a Slack plug-in to
integrate chat messages and a Bitbucket plug-in to integrate pull requests. We treat the text
in other documentation locations similar to commit messages. That means that relevant chat
messages or comments in pull requests would be transcribed into Jira issue comments so that
the decision knowledge can easily be traced to requirements and code.</p>
      <p>For future improvements, there are various ways to extend our text classifier and work on
its evaluation. We plan to perform experiments with diferent preprocessing steps, diferent
classifiers (not only logistic regression as used in Section 4), and diferent training data (e. g.,
would the classification result be better if we had diferent classifiers for each documentation
location?). We will add data balancing using Synthetic Minority Oversampling Technique
(SMOTE). We will do cross-project evaluations and evaluate how well the classifier performs on
projects with and without explicit decision knowledge documentation.</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgments</title>
      <p>This work was partially supported by the DFG (German Research Foundation) under the Priority
Programme SPP1593: Design For Future – Managed Software Evolution (CURES project). We
thank Rana Alkadhi for valuable hints during the development of the text classifier and for
sharing her data and knowledge. We thank the students who developed the ConDec tools, in
particular, Jochen Clormann and Philipp De Sombre who contributed to the text classifier.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>A. H.</given-names>
            <surname>Dutoit</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>McCall</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Mistrík</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Paech</surname>
          </string-name>
          ,
          <source>Rationale Management in Software Engineering: Concepts and Techniques</source>
          , Springer,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>T.-M. Hesse</surname>
          </string-name>
          ,
          <article-title>Supporting Software Development by an Integrated Documentation Model for Decisions</article-title>
          ,
          <source>Ph.d. thesis</source>
          , Heidelberg University,
          <year>2020</year>
          . doi:
          <volume>10</volume>
          .11588/heidok.00028713.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>R.</given-names>
            <surname>Capilla</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Jansen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Tang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Avgeriou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Babar</surname>
          </string-name>
          ,
          <article-title>10 years of software architecture knowledge management: Practice and future</article-title>
          ,
          <source>Journal of Systems and Software</source>
          <volume>116</volume>
          (
          <year>2016</year>
          )
          <fpage>191</fpage>
          -
          <lpage>205</lpage>
          . doi:
          <volume>10</volume>
          .1016/ j.jss.
          <year>2015</year>
          .
          <volume>08</volume>
          .054.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>A.</given-names>
            <surname>Kleebaum</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. O.</given-names>
            <surname>Johanssen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Paech</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Bruegge</surname>
          </string-name>
          ,
          <article-title>How do Practitioners Manage Decision Knowledge during Continuous Software Engineering?</article-title>
          ,
          <source>in: 31st International Conference on Software Engineering and Knowledge Engineering</source>
          , SEKE'19, KSI Research Inc.,
          <year>2019</year>
          , pp.
          <fpage>735</fpage>
          -
          <lpage>740</lpage>
          . doi:
          <volume>10</volume>
          .18293/ SEKE2019-206.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>A.</given-names>
            <surname>Kleebaum</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. O.</given-names>
            <surname>Johanssen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Paech</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Bruegge</surname>
          </string-name>
          ,
          <article-title>Tool support for decision and usage knowledge in continuous software engineering</article-title>
          ,
          <source>in: 3rd Workshop on Continuous Softw. Engineering</source>
          ,
          <year>2018</year>
          , pp.
          <fpage>74</fpage>
          -
          <lpage>77</lpage>
          . doi:
          <volume>10</volume>
          .11588/heidok.00024186.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>A.</given-names>
            <surname>Kleebaum</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Konersmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Langhammer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Paech</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Goedicke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Reussner</surname>
          </string-name>
          ,
          <source>Continuous Design Decision Support</source>
          , Springer, Cham,
          <year>2019</year>
          , pp.
          <fpage>107</fpage>
          -
          <lpage>139</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>030</fpage>
          -13499-
          <issue>0</issue>
          _
          <fpage>6</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>A.</given-names>
            <surname>Kleebaum</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. O.</given-names>
            <surname>Johanssen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Paech</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Bruegge</surname>
          </string-name>
          ,
          <article-title>Continuous Management of Requirement Decisions Using the ConDec Tools</article-title>
          , in: 26th International Conference on Requirements Engineering Workshops, Doctoral Symposium,
          <article-title>Live Studies Track, and Poster Track (REFSQ20), CEUR-WS</article-title>
          .org, Pisa, Italy,
          <year>2020</year>
          . doi:
          <volume>10</volume>
          .11588/heidok.00028230.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>M.</given-names>
            <surname>Rath</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Rendall</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. L. C.</given-names>
            <surname>Guo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Cleland-Huang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Mäder</surname>
          </string-name>
          ,
          <article-title>Traceability in the wild</article-title>
          ,
          <source>in: 40th International Conference on Software Engineering (ICSE)</source>
          , ACM Press, Gothenburg, Sweden,
          <year>2018</year>
          , pp.
          <fpage>834</fpage>
          -
          <lpage>845</lpage>
          . doi:
          <volume>10</volume>
          .1145/3180155.3180207.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>P.</given-names>
            <surname>Hübner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Paech</surname>
          </string-name>
          ,
          <article-title>Interaction-based creation and maintenance of continuously usable trace links between requirements and source code, Empirical Software Engineering (ESE) 25 (</article-title>
          <year>2020</year>
          )
          <fpage>4350</fpage>
          -
          <lpage>4377</lpage>
          . doi:
          <volume>10</volume>
          .1007/s10664-020-09831-w.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>J. S. van der Ven</surname>
          </string-name>
          , J. Bosch,
          <article-title>Making the right decision: Supporting architects with design decision data</article-title>
          ,
          <source>in: Lecture Notes in Computer Science</source>
          , volume
          <volume>7957</volume>
          , Springer, Berlin, Heidelberg,
          <year>2013</year>
          , pp.
          <fpage>176</fpage>
          -
          <lpage>183</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>642</fpage>
          -39031-9_
          <fpage>15</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>U. van Heesch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Avgeriou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Hilliard</surname>
          </string-name>
          ,
          <article-title>A documentation framework for architecture decisions</article-title>
          ,
          <source>Journal of Systems and Software</source>
          <volume>85</volume>
          (
          <year>2012</year>
          )
          <fpage>795</fpage>
          -
          <lpage>820</lpage>
          . doi:
          <volume>10</volume>
          .1016/j.jss.
          <year>2011</year>
          .
          <volume>10</volume>
          .017.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <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. J.</given-names>
            <surname>Letsholo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. A.</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: A systematic mapping study</article-title>
          ,
          <source>arXiv</source>
          (
          <year>2020</year>
          ). arXiv:
          <year>2004</year>
          .01099.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>J.</given-names>
            <surname>Pennington</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Socher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Manning</surname>
          </string-name>
          , Glove:
          <article-title>Global Vectors for Word Representation</article-title>
          ,
          <source>in: Conf. on Empir. Methods in Natural Language Processing (EMNLP)</source>
          ,
          <article-title>Association for Computational Linguistics</article-title>
          , Doha, Qatar,
          <year>2014</year>
          , pp.
          <fpage>1532</fpage>
          -
          <lpage>1543</lpage>
          . doi:
          <volume>10</volume>
          .3115/v1/
          <fpage>D14</fpage>
          -1162.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>R. M. A. Alkadhi</surname>
          </string-name>
          , Rationale in Developers' Communication,
          <source>Ph.D. thesis</source>
          , Technical University of Munich,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>X.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Liang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <article-title>Automatic Identification of Decisions from the Hibernate Developer Mailing List, in: Evaluation and Assessment in Software Engineering</article-title>
          , December,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          , Trondheim, Norway,
          <year>2020</year>
          , pp.
          <fpage>51</fpage>
          -
          <lpage>60</lpage>
          . doi:
          <volume>10</volume>
          .1145/3383219.3383225.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>M.</given-names>
            <surname>Bhat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Shumaiev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Biesdorf</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Hohenstein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Matthes</surname>
          </string-name>
          ,
          <article-title>Automatic Extraction of Design Decisions from Issue Management Systems: A Machine Learning Based Approach</article-title>
          ,
          <source>in: 11th European Conference on Software Architecture (ECSA'17)</source>
          , Springer, Cham, Switzerland,
          <year>2017</year>
          , pp.
          <fpage>138</fpage>
          -
          <lpage>154</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>319</fpage>
          -65831-5_
          <fpage>10</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>B.</given-names>
            <surname>Rogers</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Qiao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Gung</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Mathur</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. E.</given-names>
            <surname>Burge</surname>
          </string-name>
          ,
          <article-title>Using text mining techniques to extract rationale from existing documentation</article-title>
          ,
          <source>in: 6th Int. Conf. on Design Computing and Cognition</source>
          , Springer,
          <year>2014</year>
          , pp.
          <fpage>457</fpage>
          -
          <lpage>474</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>319</fpage>
          -14956-1_
          <fpage>26</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>P. N.</given-names>
            <surname>Sharma</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. T. R.</given-names>
            <surname>Savarimuthu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Stanger</surname>
          </string-name>
          ,
          <article-title>Extracting Rationale for Open Source Software Development Decisions - A Study of Python Email Archives</article-title>
          ,
          <source>in: 43rd International Conference on Software Engineering (ICSE</source>
          <year>2021</year>
          ),
          <year>2021</year>
          . arXiv:
          <volume>2102</volume>
          .
          <fpage>05232</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>M.</given-names>
            <surname>Lester</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Guerrero</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Burge</surname>
          </string-name>
          ,
          <article-title>Using evolutionary algorithms to select text features for mining design rationale</article-title>
          ,
          <source>Artificial Intelligence for Engineering Design, Analysis and Manufacturing</source>
          <volume>34</volume>
          (
          <year>2020</year>
          )
          <fpage>132</fpage>
          -
          <lpage>146</lpage>
          . doi:
          <volume>10</volume>
          .1017/S0890060420000037.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>M.</given-names>
            <surname>Bhat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Tinnes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Shumaiev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Hohenstein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Biesdorf</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Matthes</surname>
          </string-name>
          ,
          <article-title>ADeX: A tool for automatic curation of design decision knowledge and recommendation of alternatives and experts</article-title>
          ,
          <source>in: International Conference on Software Architecture (ICSA</source>
          <year>2019</year>
          ), Hamburg, Germany,
          <year>2019</year>
          , pp.
          <fpage>158</fpage>
          -
          <lpage>161</lpage>
          . doi:
          <volume>10</volume>
          .1109/ICSA-C.
          <year>2019</year>
          .
          <volume>00035</volume>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>