<!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>Quality Improvements for Trace Links between Source Code and Requirements</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Paul Hubner</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute for Computer Science, Heidelberg University</institution>
          ,
          <addr-line>Im Neuenheimer Feld 326, 69120 Heidelberg</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>[Context and Motivation] Traceability between source code and requirement artifacts is important for various tasks during software development. However, it is a lot of e ort to create and maintain traceability links manually. Therefore, semi-automatic traceability support is developed. [Question/ problem] Traceability research has a strong focus on trace link recovery using information retrieval (IR) techniques. These techniques use the textual similarity of documents to create trace links. The quality according to precision and recall of these techniques is still not satisfying. [Principal ideas/ results] Precision and recall can be improved by providing more data as used in IR. In this thesis, we evaluate two new data source types to create trace links. To link two speci c artifacts, we exploit existing links in the context of these artifacts. Furthermore, we use the interaction logs of developers for trace link creation between the artifacts the developers touched. [Contribution] In this paper, we present the research problems as well as the principal solutions to deal with these challenges, our research methodology, and our progress so far.</p>
      </abstract>
      <kwd-group>
        <kwd>traceability</kwd>
        <kwd>quality</kwd>
        <kwd>interaction</kwd>
        <kwd>requirement</kwd>
        <kwd>source code</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Traceability between source code and requirements is important for many
software engineering tasks e.g., maintenance, program comparison, veri cation [
        <xref ref-type="bibr" rid="ref1 ref10 ref11 ref16 ref5">10,
11, 16, 5, 1</xref>
        ] and is a major concern of software engineering research [
        <xref ref-type="bibr" rid="ref15 ref2 ref3 ref7">7, 2, 3, 15</xref>
        ].
IR-based trace link recovery is the most common used technique to discover
trace links between artifacts [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. This technique creates links between artifacts
with textual similarity as implemented in the used IR model. Thus, IR-based
trace link creation is limited with respect to similarity measure and the used IR
model [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Also precision and recall are not satisfying [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
      </p>
      <p>
        To improve the semi-automatic creation of trace links between
implementation and requirements artifacts, we investigate di erent possibilities to create
trace links during software development. We build on the approach of Delater
et al. [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] which uses the actual working task of developers as an intermediate
element to link the requirements and the code involved in this task. Our main
idea is to evaluate two new data sources to create trace links. To link two speci c
artifacts, we exploit the existing links in the context of these artifacts.
Furthermore, we use the interaction logs of developers for trace link creation between
the artifacts the developers touched. Therefore, we implement algorithms for
these new data sources and compare them with traditional IR methods, based
only on the artifacts, as well as with the working task approach of Delater. We
also analyze combinations of these methods to improve precision and recall for
the recovered trace links. In which precision is the fraction of retrieved trace
links that are relevant, while recall is the fraction of relevant trace links that are
retrieved.
      </p>
      <p>The remainder of this paper is structured as follows. Section 2 describes the
research problem tackled in this thesis. Section 3 presents the proposed solutions
and discusses their novelty. Section 4 gives an overview of related work. Section
5 discusses the applied research methods. With our progress, we conclude the
paper in Section 6.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Problem</title>
      <p>
        The problem of established trace link recovery techniques is their insu cient
quality regarding precision and recall [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. According to Gotel et al. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] there is
a tradeo between precision and recall: if IR-based methods have a good recall
(up to 90%), the generated candidate links include a lot of false positives, i.e.
precision is between 10 to 20% [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Even with recall values of 90%, important
links might be missing. Therefore, we investigate the following general research
question: (RQ) How to improve semi-automatically detected trace link
quality according to precision and recall? One reason for this problem is
that textual similarity is not su cient to detect links. E.g., a use case is relevant
for the class implementing system functions required in the use case, but the class
text may use di erent words than the use case. Another reason for this problem
is the dependency between recall and precision when using IR-based recovery
techniques. To get high recall values, the threshold de ning that two artifacts are
linked has to be low [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. This often results in a bad precision, as many unrelated
artifacts are included. Thus, we propose to use interaction logs and existing links
as additional data sources. These additional data sources can improve recall,
since they are likely to yield new links compared with IR. Precision will be
improved, since false positive links are more unlikely for interaction logs and
existing links as for IR. We investigate the following detailed research questions:
(RQ1) Do the additional data sources improve precision and recall? (RQ2) Can
the combination improve the precision and recall even more? (RQ 2.1) How can
the best combination of trace link recovery techniques be determined? (RQ 2.2)
Is there a certain combination of trace link recovery techniques which leads to
most improvements in precision and recall in di erent settings?
      </p>
    </sec>
    <sec id="sec-3">
      <title>Proposed Solution</title>
      <p>
        To answer RQ1, our proposed solution is based on the usage of two new data
sources for trace link creation. We build on the approach of Delater et al. [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ],
where trace links between requirements and code are captured semi-automatically
by using tasks as intermediate elements. Trace links are created along with the
processing of the task and the associated requirement and code elements based
on artefact changes. Figure 1 shows our extension of Delater's approach. It can
be separated into two parts.
      </p>
      <p>Interaction Patterns
Interaction Data</p>
      <p>Task</p>
      <p>VCS
Revision Class
(3) Information</p>
      <p>Retrieval
Class
Method
(1) Developers
Interaction Data
(2) Existing Trace
Link Structure</p>
      <p>Use
Case
System
Function</p>
      <p>Use</p>
      <p>Case
Already used Elements</p>
      <p>New used Elements</p>
      <p>Inferred Trace Link</p>
      <p>Existing Trace Link</p>
      <p>On the one hand, we use developer's interaction data produced while working
with an integrated development environment (IDE) (cf. Figure 1 (1)).
Interaction data consists of interaction events. These interaction events have di erent
types e.g., edit, selection, navigation, execution, etc. and are typically related to
artifacts like source code or requirements. A set of certain interaction events like
edit ! navigation ! edit is a navigation path. Frequently occurring interaction
paths are called interaction patterns. The knowledge of interaction patterns will
improve precision as frequent navigation indicates a stronger relation between
the artifacts.</p>
      <p>
        On the other hand, we exploit the existing trace link structure (cf. Figure
1(2)). to improve the trace link precision, since trace links are created based on
already veri ed trace links. When using data created during runtime for trace
link recovery, it is natural to also apply this recovery repeatedly during
development and not only after development as it is typical in traditional methods
[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. This extends trace link recovery to trace link recommendation to developers
directly during development. It makes trace links available early in a project.
Furthermore, the assessment of the trace links by developers is facilitated, since
link recommendations t to the actual context of a developer. To investigate
RQ2, we compare di erent combinations of trace link recovery techniques
regarding precision and recall. The starting point is the combined usage of IR and
interaction data-based recovery to increase trace link recall. To increase
precision we combine this with the exploitation of the existing trace link structure
or interaction patterns. Both can also be used to focus IR-based recovery on
speci c artifacts.
      </p>
      <p>In the following we illustrate our ideas by an example. We assume that a
developer knows the requirement s/he has to implement. E.g., the developer
implements a system function as a set of methods within a class.</p>
      <p>
        First, we outline how to use developers' interaction data to infer trace links.
During the implementation of the methods s/he looks up the detailed speci
cation of the system function in the requirements speci cation. This navigation
between system function de nition and implemented methods is logged. After
s/he has nished the implementation of the methods, trace links between system
function speci cation and methods can be inferred based on the used navigation
paths. Using the working task context as in Delater's work [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] is an additional
bene t, since navigation interactions can be separated based on their association
to a task (cf. Figure 1).
      </p>
      <p>Second, we outline how to exploit the existing trace links structure of
implementation and requirements. Both, requirements and code are typically
hierarchical. E.g., a use case includes a system function and a class includes a method.
Trace links between upper level artifacts can be used to infer trace links between
lower level artifacts and vice versa. Assume that the class in which the methods
for the system functions should be implemented is already linked with a use case.
In the requirements speci cation the use case is linked with system functions.
Thus, the existence of links between the use case and the system functions as well
as the use case and the class increases the likelihood that some methods should
be linked to the system functions. This can be applied as a lter on previously
identi ed navigation paths or can be used to add additional link candidates. In
both cases, precision can be improved by using IR to check the textual similarity
between implemented methods and the systems functions speci cation.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Related Work</title>
      <p>
        A recent overview of important IR-based trace link recovery approaches in the
last decade and an evaluation of the approaches is given by Borg et al. [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
We use the evaluation results of the discussed IR approaches as comparison
measure for the quality assessment of our approach. Other approaches using
additional data sources exist. The following two approaches also exploit the
artifacts hierarchy, but not for trace link recovery. De Lucia et al. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] presented an
approach for a ne-grained management of trace links using a software artifacts
hierarchy in addition to traditional IR-based recovery methods. In contrast to our
approach, the hierarchy relations were not directly used when recovering trace
links, instead they were used to navigate between linked artefacts. Wentao et al.
[
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] use existing trace links for further data processing actions. They compare
the evolution of code, requirements, and trace links and use the trace links as a
starting point to compensate for the divergence between those elements.
      </p>
      <p>
        The use of interaction data of developers is widespread in software
engineering, especially in the domain of recommendation systems. Maalej et al. [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]
describe how to use interaction data, based on examples of existing
recommendation systems, to trigger recommendations about used source artifacts.
Furthermore, they describe di erent methods to aggregate this data to sessions, tasks,
and activities and how to lter such data for productive use. We build on these
methods for the development of our interaction patterns. Cleland-Huang et al.
[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] present a study in which they implemented and evaluated an approach to
recommend trace links between system model (UML) and requirements during
model changes. They use edit interactions to trigger recommendations of trace
links which is similar to our approach, but use IR instead of the interaction data
to create links. The use of interaction data to nd software artifact relations
is also applied in the domain of software architecture. Konopka et al. [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] nd
relations between source code artifacts and tasks based on IDE interaction data.
This is used for grouping code, but not for linking requirements and code as in
our approach.
      </p>
      <p>
        There are further ways to improve the precision of links. Niu and Mahmoud
[
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] presented a machine learning-based clustering approach to reduce the false
positives in a trace link candidate list. This has a di erent focus and could be
applied in addition to our approach.
5
      </p>
    </sec>
    <sec id="sec-5">
      <title>Research Method</title>
      <p>
        The research method used in this thesis is based on an adapted version of
Wieringa's Design Science Methodology [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] in which we combine several small
studies. It consists of the four phases: (1) problem identi cation, (2) problem
establishment, (3) solution design, and (4) solution validation. In the following
we introduce these four phases for our research.
      </p>
      <p>The identi ed problem (1) is that the quality of IR-based trace link recovery
is not su cient for software engineering tasks. We establish this problem (2) by
the analysis of existing studies and related work for trace link recovery and usage.
We conduct a literature review to get an overview of existing trace link recovery
approaches, to nd possibilities to improve precision and recall of trace links,
and to discover options to embed trace link creation in the software development
process. Thus, the research questions we answer with our literature review are:
What are existing trace link recovery approaches, which data sources and which
recovery techniques are used? What are the reasons for insu cient precision and
recall of existing approaches? Which options for improvements are discussed and
how are they applied? Which kind of experimental setup and which kind of data
sets are used to evaluate trace link recovery approaches?</p>
      <p>Our solution design (3) is described in Section 3. To validate the solution (4),
we perform studies with two open source projects. The Existing Link
Structure Study will use the iTrust project data1 which consist of a use case-based
requirement speci cation, Java and JSP-based source code, existing trace link
de nitions, and a project history with multiple versions of the previously
mentioned resources available in a version control system (VCS). A history version
of the trace link speci cation can be used to check the recall and precision of our
existing link structure algorithm. The Developers' Interaction Data Study
will use Mylyn project data2 which consists of a Bugzilla project consisting of
1 http://agile.csc.ncsu.edu/iTrust, last checked February 25, 2016
2 http://www.eclipse.org/mylyn/developers/, last checked February 25, 2016
tasks (bugs, issues, etc.) including attached interaction data. The task
descriptions are used to specify requirements (as features). Due to the attached Mylyn
interaction data, it is possible to see the interaction associated with a speci c
requirement and the a ected source code elements.</p>
      <p>
        To compare our results with established IR-based trace link recovery
approaches we will apply a set of such IR-based recovery approaches to both
projects. Moreover, for the developer's interaction data study we also apply
Delater's working task-based recovery approach [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. This is possible since in the
used project data development tasks are explicitly speci ed.
      </p>
      <p>We are still looking for project data which give us the possibility to apply both
of our new recovery techniques in combination to completely investigate RQ2.
Another way to get data to evaluate all our recovery techniques in combination
are practical student courses. This requires the integration of our algorithms in
the eclipse3 IDE and their usage to recommend trace links during development.
6</p>
    </sec>
    <sec id="sec-6">
      <title>Progress</title>
      <p>We perform the literature review in parallel to the other task of this thesis. We
plan to nalize the research questions and the execution of the search process
by mid of 2016, followed by the result evaluation and documentation which we
plan to nish by the end of 2016.</p>
      <p>We have already implemented the basic algorithms for the interaction path
detection and the use of existing trace link structure. We already performed a
statistical analysis on the Mylyn interaction data and extracted basic
interaction patterns which we use in the current implementation of our algorithm. For
using existing trace link structures we transferred the iTrust data into a local
data base implementing a schema for the structured, hierarchical speci cation of
requirements and source code elements as this is necessary for using trace links
between those elements.</p>
      <p>We plan to nish the existing link structure analysis with iTrust data in
June 2016 and the developers' interaction data study with Mylyn project data
in September 2016, including the comparison to only using IR-based trace link
recovery. Until then, we also hope to nd project data which allows the
application and evaluation of both interaction data and existing trace link structure
based trace link creation. We plan to nish the research for this thesis by the
end of 2017.</p>
      <p>If time permits, we will integrate these algorithms in the eclipse IDE and use
them to recommend trace links during development. However, for the evaluation
of trace link recommendation a further study with developers using the tool in
a real project or at least a student course will be necessary. This is di cult to
achieve and therefore not planned as an integral part of the thesis.
Acknowledgment I thank my advisor Barbara Paech for her excellent support.
3 http://www.eclipse.org, last checked February 25, 2016</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Bavota</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Colangelo</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Lucia</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fusco</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oliveto</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Panichella</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>TraceME: Traceability Management in Eclipse</article-title>
          .
          <source>In: ICSM 2012</source>
          . pp.
          <volume>642</volume>
          {
          <fpage>645</fpage>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (Sep
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Borg</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Runeson</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , Ardo,
          <string-name>
            <surname>A.</surname>
          </string-name>
          :
          <article-title>Recovering from a decade: a systematic mapping of information retrieval approaches to software traceability</article-title>
          .
          <source>Empirical Software Engineering</source>
          <volume>19</volume>
          (
          <issue>6</issue>
          ),
          <volume>1</volume>
          {52 (May
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Cleland-Huang</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gotel</surname>
            ,
            <given-names>O.C.Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hu man Hayes</surname>
            , J., Mader,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zisman</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Software traceability: trends and future directions</article-title>
          .
          <source>In: FOSE 2014</source>
          . pp.
          <volume>55</volume>
          {
          <fpage>69</fpage>
          . ACM Press, New York, New York, USA (May
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Cleland-Huang</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , Mader,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Mirakhorli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Amornborvornwong</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.</surname>
          </string-name>
          :
          <article-title>Breaking the big-bang practice of traceability: Pushing timely trace recommendations to project stakeholders</article-title>
          .
          <source>In: RE 2012</source>
          . pp.
          <volume>231</volume>
          {
          <fpage>240</fpage>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (Sep
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>De Lucia</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fasano</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oliveto</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tortora</surname>
          </string-name>
          , G.:
          <article-title>Fine-grained management of software artefacts: the ADAMS system</article-title>
          .
          <source>Software: Practice and Experience</source>
          <volume>40</volume>
          (
          <issue>11</issue>
          ),
          <volume>1007</volume>
          {1034 (Oct
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Delater</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paech</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Tracing Requirements and Source Code during Software Development: An Empirical Study</article-title>
          .
          <source>In: ESEM 2013</source>
          . pp.
          <volume>25</volume>
          {
          <fpage>34</fpage>
          . IEEE, Baltimore,
          <string-name>
            <surname>MD</surname>
          </string-name>
          , USA (Oct
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Gotel</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cleland-Huang</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hayes</surname>
            ,
            <given-names>J.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zisman</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Egyed</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grunbacher</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Antoniol</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          :
          <article-title>The quest for Ubiquity: A roadmap for software and systems traceability research</article-title>
          .
          <source>In: RE 2012</source>
          . pp.
          <volume>71</volume>
          {
          <fpage>80</fpage>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (Sep
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Konopka</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Navrat</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bielikova</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          : Poster:
          <article-title>Discovering Code Dependencies by Harnessing Developer's Activity</article-title>
          .
          <source>In: ICSE 2015</source>
          . pp.
          <volume>801</volume>
          {
          <fpage>802</fpage>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (May
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Maalej</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fritz</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Robbes</surname>
          </string-name>
          , R.:
          <article-title>Collecting and Processing Interaction Data for Recommendation Systems</article-title>
          .
          <source>In: Recommendation Systems in Software Engineering</source>
          , pp.
          <volume>173</volume>
          {
          <fpage>197</fpage>
          . Springer Berlin, Heidelberg (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10. Mader,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Egyed</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          :
          <article-title>Do software engineers bene t from source code navigation with traceability? An experiment in software change management</article-title>
          .
          <source>In: ASE 2011</source>
          . pp.
          <volume>444</volume>
          {
          <fpage>447</fpage>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (Nov
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. Mader,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Egyed</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          :
          <article-title>Do developers bene t from requirements traceability when evolving and maintaining a software system?</article-title>
          <source>Empirical Software Engineering</source>
          <volume>20</volume>
          (
          <issue>2</issue>
          ),
          <volume>413</volume>
          {441 (Apr
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>McMillan</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Poshyvanyk</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Revelle</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>Combining textual and structural analysis of software artifacts for traceability link recovery</article-title>
          .
          <source>In: TEFSE 2009</source>
          . pp.
          <volume>41</volume>
          {
          <fpage>48</fpage>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Niu</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bhowmik</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liu</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Niu</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          :
          <article-title>Traceability-enabled refactoring for managing just-in-time requirements</article-title>
          .
          <source>In: RE 2014</source>
          . pp.
          <volume>133</volume>
          {
          <fpage>142</fpage>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (Aug
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Niu</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mahmoud</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Enhancing candidate link generation for requirements tracing: The cluster hypothesis revisited</article-title>
          .
          <source>In: RE 2012</source>
          . pp.
          <volume>81</volume>
          {
          <fpage>90</fpage>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (Sep
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Panichella</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Lucia</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zaidman</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Adaptive User Feedback for IR-Based Traceability Recovery</article-title>
          .
          <source>In: SST 2015</source>
          . pp.
          <volume>15</volume>
          {
          <fpage>21</fpage>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (May
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Rempel</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , Mader,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Kuschke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            ,
            <surname>Cleland-Huang</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.</surname>
          </string-name>
          :
          <article-title>Mind the gap: assessing the conformance of software traceability to relevant guidelines</article-title>
          .
          <source>In: ICSE 2014</source>
          . pp.
          <volume>943</volume>
          {
          <fpage>954</fpage>
          . ACM Press, New York, New York, USA (May
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Wentao</surname>
            <given-names>Wang</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gupta</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yingbo</surname>
            <given-names>Wu</given-names>
          </string-name>
          :
          <article-title>Continuously delivered? Periodically updated? Never changed? Studying an open source project's releases of code, requirements, and trace matrix</article-title>
          .
          <source>In: JITRE 2015</source>
          . pp.
          <volume>13</volume>
          {
          <issue>16</issue>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Wieringa</surname>
          </string-name>
          , R.J.:
          <source>Design Science Methodology for Information Systems and Software Engineering</source>
          . Springer Berlin Heidelberg, Berlin, Heidelberg (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>