<!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>When, why and for whom do practitioners detect technical debt?: An experience report</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Norihiro Yoshida Nagoya University</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2016</year>
      </pub-date>
      <fpage>64</fpage>
      <lpage>67</lpage>
      <abstract>
        <p>-Code cloning is one of the most well-known codelevel technical debts. In this paper, I discuss when, why and for whom practitioners detect code clones based on my experience of industry/university collaboration. At first, I introduce five project instances based on my experience. Next, I identify elements of the context model of a software maintenance project. After that, I discuss the impact of the context of a software maintenance project on technical debt.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>
        The results of empirical studies of software engineering
usually depend on the context (e.g., programming language.
size of product, development process) of a software
development [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Studies of technical debt [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] also depend on it. For
example, if a development team expects to perform long-term
software maintenance, it proactively refactors source code.
Conversely, if it is commissioned to maintain the source code
for a customer and do not expect to touch it after the project,
it is unmotivated to perform refactoring.
      </p>
      <p>
        So far, much research has been done on the empirical studies
of technical debt [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. The results of those studies
sometimes tell different stories. For instance, several studies
successfully detected defects that are caused by maintaining
code clones [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. On the other hand, other studies reported
that code clones are harmless for software maintenance [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ],
[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Such inconsistency can be caused by context differences
between target projects in the empirical studies of technical
debt. For a deeper understanding of technical debt, the
empirical software engineering community has to identify the
context model of a software maintenance project.
      </p>
      <p>
        In this position paper, I focus on code cloning which is one
of the most well-known examples of code-level technical debt
[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. At first, I introduce the context instances when
developers focus on code cloning according to my experiences
in industry/university collaboration. After that, I discuss
elements of the context model of a software maintenance project
and the impact of those elements on technical debt.
      </p>
      <p>The remainder of this position paper is organized into the
following sections. Section II introduces the context instances
when developers focus on code cloning according to my
experiences in industry/university collaboration. Next, Section
III discusses elements of the context model of a software
maintenance project and the impact of those elements on
technical debt. Section IV reviews related work and finally,
Section V concludes with possible future work.</p>
      <p>Case A: The company of Case A is a Japanese
conglomerate company. A division of this company has owned
and maintained two large-scale legacy systems written in the C
language. One of the systems is for an electric power company,
and the another one is for a railway company. The developers
in the division expect to maintain the code in the next decade.
Since they plan to perform large-scale maintenance soon, they
would like to reduce the amount of the code by merging code
clones. They believe that they will be able to reduce the cost
of maintaining the code once clones in the code are merged.</p>
      <p>Case B: An another division of the company in Case A
provides service for reducing legacy code written in COBOL.
So far, the software system often has dependencies on a
specific vendor for products and services and the customer
of the system has been unable to use another vendor without
substantial switching cost. Recently, many customers would
like to migrate from such a vendor lock-in system to a
new system that uses open source software (e.g., Linux,
PostgreSQL). Before the migration, the customers would like
to reduce the existing source code and reduce the maintenance
cost.</p>
      <p>Case C: The company of Case C is also a conglomerate
company. This company has owned and maintained large-scale
software systems for smartphones. The code is written in the C
language. The amount of code has rapidly increased recently.
The persons in charge worry about inconsistencies among code
clones and would like to perform simultaneous modifications
correctly.</p>
      <p>Case D: The company of Case D is a Japanese system
integration company. In Case D, several subcontractors
contribute to the project, and each of them has been in charge of
a part of the development. Each subcontractor has maintained
subcontractor-owned code for the part and delivered it after
implementation phase. The project manager in case D would
like to know the location of code clones in large-scale source
code and avoid the amount increases.</p>
      <p>Case E: The company of Case E is a Japanese provider
of information technology services and products. Case E is
a maintenance project for medium-scale source code that is
owned by this company. The developers in Case E would like
to avoid that the amount of code clones increases and detect
newly-created or modified clones on the fly. They would like
to use a system for reporting such clones daily.</p>
    </sec>
    <sec id="sec-2">
      <title>III. DISCUSSION</title>
      <sec id="sec-2-1">
        <title>A. Context Element</title>
        <p>According to Table I in Section 2, we found that the context
model of software maintenance projects includes the following
elements for the empirical software engineering of technical
debt:</p>
        <p>When is technical debt detected? (e.g., before releasing
a version, daily build)
Why are stakeholders motivated to detect technical debt?
(e.g., refactoring, clone prevention)
Who is expected to check detected debt? (e.g.,
development team, customer who would like to maintain the
system, project manager)
Who is the owner of the code? (e.g., company that
developers who detect technical debt own, customer who
would like to maintain the system)
What kind of the code? (e.g., language, legacy/new,
longterm/short-term maintained)</p>
      </sec>
      <sec id="sec-2-2">
        <title>B. Impact of Context on Technical debt</title>
        <p>Hereafter, I discuss the impact of the context elements in
Section III-A on technical debt.</p>
        <p>a) When: In order to detect technical debt as much as
possible, it is most appropriate to monitor all of the code
modifications on the fly because many refactoring operations
are expected to be completed before a commit. Second best
is detecting technical debt from all of the committed versions
in a version control system. A released version is expected
to include a fewer number of technical debt compared to
a committed version because developers not only tend to
introduce technical debt but also try to reduce them. When
researchers compare or discuss empirical studies of technical
debt, they have to be careful about the timing when technical
debt are detected.</p>
        <p>b) Why: The result of an empirical study of technical
debt is expected to depend on the strategy to deal with it
in the development. If developers considered refactoring as a
solution to code clones, the number of the code clones tends
to be small. Conversely, if developers considered to keep the
consistency among code clones and left consistent clones as
they are, the number of code clones is larger than the previous
case. Researchers should try to find out the strategy to deal
with technical debt in the development and the purpose of it.</p>
        <p>c) For Whom and Owner: In the case that technical
debt was detected in company-owned code by a maintenance
team, it may have carefully considered a strategy to deal with
each of the technical debts for maintenance in the future. In
this case, many of the detected technical debts are expected
to be eliminated successfully, and the maintenance cost of
the code is also expected to reduce. Conversely, in the case
that technical debt was detected in customer-owned code for
a customer, the customer tends to focus on the amount of
technical debt and does not consider a strategy to deal with
each of them. The case that technical debt was detected in
subcontractor-owned code by a project manager is very similar
to the above case. The project manager tends just to focus on
the amount of technical debt and does not consider a strategy
to deal with each of them. In these cases, the decrease of
the maintenance cost is expected to be limited even if many
of the technical debt are eliminated. Researchers have to be
careful about persons in charge of checking detected technical
debt and the owner of the code when they compare or discuss
empirical studies of the technical debt.</p>
        <p>
          d) Target: The expressiveness of a programming
language strongly affects the strategy to deal with code smells
[
          <xref ref-type="bibr" rid="ref11">11</xref>
          ], [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]. For example, Java has many language features
for refactoring, but C has only a few such ones. Therefore,
researchers have to be careful about a programming language
that is used in the project when they compare or discuss
empirical studies of the technical debt. The size of a code
base also is considered to affect the number of code smells.
Keeping the consistency of large-scale source code is difficult.
For example, large-scale source code tends to include many
code clones and it is difficult to keep the consistency of the
code clones [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ].
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>IV. RELATED WORK</title>
      <p>
        Defect-prone clone is regarded as a serious technical debt.
Many empirical studies have focused on the relationship
between code cloning and defects. Several researchers
investigated the relationship between code clones and defects in
source code. Rahman et al. reported that the great majority of
defects are not significantly associated with code clones [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
Also, Sajnani et al. reported that code clone has considerably
less, and less problematic, bug patterns [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Mondal et al.
compared the defect-proneness of different type of code clones
[
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. Islam et al. reported that a considerable proportion of the
code clones was able to contain replicated bugs [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
      <p>
        The inconsistency among code clones is a clue to the
detection of defect-prone clones. Li et al. proposed an a
tool, CP-Miner that uses data mining techniques to efficiently
identify copy-pasted code in large software suites and detects
copy-paste defects based on naming inconsistency among code
clones [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. Jiang et al. proposed an approach to detecting
clone-related defects based on inconsistencies among clones
[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Juergens presented the results of a large-scale case study
that was undertaken to find out if inconsistent changes to
cloned code can indicate defects [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. They not only found
that inconsistent changes to clones are very frequent but also
identified a significant number of defects induced by such
changes.
      </p>
      <p>
        Change-prone code is a clue to the detection of technical
debt. Several researchers investigated the change-proneness of
code clones. Hotta et al. reported that the presence of duplicate
code does not have a negative impact on software evolution
[
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. Harder and Go¨de reported that clone stability varies
depending on the clones characteristics, the corresponding
project environment, and over time [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
      </p>
      <p>
        Code-level technical debt is not limited to code cloning.
Yamashita and Moonen investigated the relationship between
code smell and maintainability [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. They investigated the
capability of 12 code smells to reflect actual maintenance
problems [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. They also empirically investigated the interactions
amongst 12 code smells and analyze how those interactions
relate to maintenance problems [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>
        Refactoring is the most well-known technique aiming to
reduce code-level technical debt. Several empirical studies
have been done on the relationship between code smells and
refactoring. Stroggylos and Spinellis investigated the impact of
refactoring on quality metrics [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. Bavota et al. investigated
the extent to whether refactorings executed on classes
exhibiting code smells and able to remove code smells [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]. The
result shows that 42% of refactoring operations were performed
on code entities affected by code smells. However, only 7%
of the performed operations actually removed the code smells
from the affected class. Also, Saika et al. investigated the
impact of the severity of code smell on refactoring [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. The
result shows that refactoring did not decrease the severity of
code smells significantly.
      </p>
    </sec>
    <sec id="sec-4">
      <title>V. CONCLUDING REMARKS AND FUTURE WORK</title>
      <p>In this position paper, I focused on code cloning that is one
of the most well-known code-level technical debt At first, I
introduced five context instances when developers focus on
code clones according to my experience of industry/university
collaboration. After that, I discussed elements of the context
model of a software maintenance project and the impact of
those elements on technical debt. Based on the discussion,
my position statement is that researchers have to identify the
contexts of target projects in empirical studies of technical
debt before they compare or discuss those studies.</p>
      <p>As future work, I plan to perform a systematic review
of the existing empirical studies of technical debt and then
identify the contexts of those studies. After that, I would like
to categorize the identified contexts and then investigate the
impact of context on technical debt. Also, I would like to
propose a guideline for empirical research of technical debt
based on above category and the investigation result.</p>
    </sec>
    <sec id="sec-5">
      <title>ACKNOWLEDGMENT</title>
      <p>I thank Dr. Leon Moonen and Prof. Tom Mens for useful
feedback on earlier versions of this paper. This work was
supported by JSPS KAKENHI Grant Numbers JP26730036
and JP16K16034.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>B. A.</given-names>
            <surname>Kitchenham</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. L.</given-names>
            <surname>Pfleeger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L. M.</given-names>
            <surname>Pickard</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. W.</given-names>
            <surname>Jones</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. C.</given-names>
            <surname>Hoaglin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K. E.</given-names>
            <surname>Emam</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Rosenberg</surname>
          </string-name>
          , “
          <article-title>Preliminary guidelines for empirical research in software engineering</article-title>
          ,
          <source>” IEEE Transactions on Software Engineering</source>
          , vol.
          <volume>28</volume>
          , no.
          <issue>8</issue>
          , pp.
          <fpage>721</fpage>
          -
          <lpage>734</lpage>
          ,
          <year>Aug 2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>P.</given-names>
            <surname>Kruchten</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. L.</given-names>
            <surname>Nord</surname>
          </string-name>
          ,
          <string-name>
            <surname>and I. Ozkaya</surname>
          </string-name>
          , “
          <article-title>Technical debt: From metaphor to theory and practice</article-title>
          ,
          <source>” IEEE Software</source>
          , vol.
          <volume>29</volume>
          , no.
          <issue>6</issue>
          , pp.
          <fpage>18</fpage>
          -
          <lpage>21</lpage>
          ,
          <year>Nov 2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>A.</given-names>
            <surname>Yamashita</surname>
          </string-name>
          , “
          <article-title>Assessing the capability of code smells to explain maintenance problems: an empirical study combining quantitative and qualitative data,” Empirical Software Engineering</article-title>
          , vol.
          <volume>19</volume>
          , no.
          <issue>4</issue>
          , pp.
          <fpage>1111</fpage>
          -
          <lpage>1143</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>A.</given-names>
            <surname>Yamashita</surname>
          </string-name>
          and
          <string-name>
            <given-names>L.</given-names>
            <surname>Moonen</surname>
          </string-name>
          ., “
          <article-title>Exploring the impact of inter-smell relations on software maintainability: An empirical study</article-title>
          ,”
          <source>in Proc. of ICSE</source>
          ,
          <year>2013</year>
          , pp.
          <fpage>682</fpage>
          -
          <lpage>691</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>M.</given-names>
            <surname>Tufano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Palomba</surname>
          </string-name>
          , G. Bavota, and
          <string-name>
            <given-names>R.</given-names>
            <surname>Oliveto</surname>
          </string-name>
          , “
          <article-title>When and why your code smell starts to smell bad,”</article-title>
          <source>in Proc. of ICSE</source>
          ,
          <year>2015</year>
          , pp.
          <fpage>403</fpage>
          -
          <lpage>414</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>L.</given-names>
            <surname>Jiang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Su</surname>
          </string-name>
          , and E. Chiu, “
          <article-title>Context-based detection of clone-related bugs,”</article-title>
          <source>in Proc. of ESEC/FSE</source>
          ,
          <year>2007</year>
          , pp.
          <fpage>55</fpage>
          -
          <lpage>64</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Higo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Ueda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Kusumoto</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Inoue</surname>
          </string-name>
          , “
          <article-title>Simultaneous modification support based on code clone analysis</article-title>
          ,
          <source>” in Proc. of APSEC</source>
          ,
          <year>2007</year>
          , pp.
          <fpage>262</fpage>
          -
          <lpage>269</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>F.</given-names>
            <surname>Rahman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Bird</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Devanbu</surname>
          </string-name>
          , “Clones:
          <article-title>What is that smell?” Empirical Software Engineering</article-title>
          , vol.
          <volume>17</volume>
          , no.
          <issue>4-5</issue>
          , pp.
          <fpage>503</fpage>
          -
          <lpage>530</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>H.</given-names>
            <surname>Sajnani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Saini</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C. V.</given-names>
            <surname>Lopes</surname>
          </string-name>
          , “
          <article-title>A comparative study of bug patterns in java cloned and non-cloned code,”</article-title>
          <source>in Proc. of SCAM</source>
          ,
          <year>2014</year>
          , pp.
          <fpage>21</fpage>
          -
          <lpage>30</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>N.</given-names>
            <surname>Yoshida</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Hattori</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Inoue</surname>
          </string-name>
          , “
          <article-title>Finding similar defects using synonymous identifier retrieval,”</article-title>
          <source>in Proc. of IWSC</source>
          ,
          <year>2010</year>
          , pp.
          <fpage>49</fpage>
          -
          <lpage>56</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>C. J.</given-names>
            <surname>Kapser</surname>
          </string-name>
          and
          <string-name>
            <given-names>M. W.</given-names>
            <surname>Godfrey</surname>
          </string-name>
          , “
          <article-title>“cloning considered harmful” considered harmful: patterns of cloning in software,” Empirical Software Engineering</article-title>
          , vol.
          <volume>13</volume>
          , no.
          <issue>6</issue>
          , p.
          <fpage>645</fpage>
          ,
          <year>2008</year>
          . [Online]. Available: http://dx.doi.org/10.1007/s10664-008-9076-6
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>J. L.</given-names>
            <surname>Overbey</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Behrang</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Hafiz</surname>
          </string-name>
          , “
          <article-title>A foundation for refactoring c with macros,”</article-title>
          <source>in Proc. of FSE</source>
          ,
          <year>2014</year>
          , pp.
          <fpage>75</fpage>
          -
          <lpage>85</lpage>
          . [Online]. Available: http://doi.acm.
          <source>org/10</source>
          .1145/2635868.2635908
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>E.</given-names>
            <surname>Juergens</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Deissenboeck</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Hummel</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Wagner</surname>
          </string-name>
          , “Do code clones matter?”
          <source>in Proc. of ICSE</source>
          ,
          <year>2009</year>
          , pp.
          <fpage>485</fpage>
          -
          <lpage>495</lpage>
          . [Online]. Available: http://dx.doi.org/10.1109/ICSE.
          <year>2009</year>
          .5070547
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>M.</given-names>
            <surname>Mondal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. K.</given-names>
            <surname>Roy</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K. A.</given-names>
            <surname>Schneider</surname>
          </string-name>
          , “
          <article-title>A comparative study on the bug-proneness of different types of code clones,”</article-title>
          <source>in Proc. of ICSME</source>
          ,
          <year>2015</year>
          , pp.
          <fpage>91</fpage>
          -
          <lpage>100</lpage>
          . [Online]. Available: http://dx.doi.org/10.1109/ICSM.
          <year>2015</year>
          .7332455
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>J. F.</given-names>
            <surname>Islam</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mondal</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C. K.</given-names>
            <surname>Roy</surname>
          </string-name>
          , “
          <article-title>Bug replication in code clones: An empirical study</article-title>
          ,”
          <source>in Proc. of SANER</source>
          , vol.
          <volume>1</volume>
          ,
          <year>March 2016</year>
          , pp.
          <fpage>68</fpage>
          -
          <lpage>78</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Lu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Myagmar</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhou</surname>
          </string-name>
          , “
          <article-title>CP-Miner: Finding Copy-Paste and Related Bugs in Large-Scale Software Code,”</article-title>
          <source>IEEE Transactions on Software Engineering</source>
          , vol.
          <volume>32</volume>
          , no.
          <issue>3</issue>
          , pp.
          <fpage>176</fpage>
          -
          <lpage>192</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>K.</given-names>
            <surname>Hotta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Sano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Higo</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Kusumoto</surname>
          </string-name>
          , “
          <article-title>Is duplicate code more frequently modified than non-duplicate code in software evolution?: An empirical study on open source software,”</article-title>
          <source>in Proc. of IWPSE-EVOL</source>
          ,
          <year>2010</year>
          , pp.
          <fpage>73</fpage>
          -
          <lpage>82</lpage>
          . [Online]. Available: http://doi.acm.
          <source>org/10</source>
          .1145/1862372.1862390
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>J.</given-names>
            <surname>Harder</surname>
          </string-name>
          and N. Go¨de, “Cloned code: stable code,
          <source>” Journal of Software: Evolution and Process</source>
          , vol.
          <volume>25</volume>
          , no.
          <issue>10</issue>
          , pp.
          <fpage>1063</fpage>
          -
          <lpage>1088</lpage>
          ,
          <year>2013</year>
          . [Online]. Available: http://dx.doi.org/10.1002/smr.1551
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>K.</given-names>
            <surname>Stroggylos</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Spinellis</surname>
          </string-name>
          , “
          <article-title>Refactoring-does it improve software quality?” in Proc</article-title>
          . of WoSQ, no.
          <issue>10</issue>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>G.</given-names>
            <surname>Bavota</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. D.</given-names>
            <surname>Lucia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. D.</given-names>
            <surname>Penta</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Oliveto</surname>
          </string-name>
          , “
          <article-title>An experimental investigation on the innate relationship between quality and refactoring</article-title>
          ,
          <source>” Journal of Systems and Software</source>
          , vol.
          <volume>107</volume>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>14</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>T.</given-names>
            <surname>Saika</surname>
          </string-name>
          , E. Choi,
          <string-name>
            <given-names>N.</given-names>
            <surname>Yoshida</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Haruna</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Inoue</surname>
          </string-name>
          , “
          <article-title>Do developers focus on severe code smells?</article-title>
          ”
          <source>in Proc. of PPAP</source>
          ,
          <year>2016</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>3</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>