<!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>Research on Software Pro ject Developer Behaviors with K-means Clustering Analysis</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Tampere University Kalevantie 4 33100</institution>
          ,
          <addr-line>Tampere</addr-line>
          ,
          <country country="FI">Finland</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Research on technical debt and community smell have drawn increasing attention in the academia of software engineering in the latest decade. Furthermore, data mining methods have been widely applied in the very domain as well. However, limited studies have contribute to the understanding of software project community using data mining methods, especially regarding the analysis of developer behaviors. Using K-means clustering, this study provides a preliminary analysis on the classi cation of open source software project developers based on the statistics of their behaviors related to technical debts. The results show that developers can be categorized into three di erent behavior groups, including, Veterans, Vulnerability Creators, and Fault Inducers/ Commoners.</p>
      </abstract>
      <kwd-group>
        <kwd>Developer Behaviors</kwd>
        <kwd>Data Mining</kwd>
        <kwd>K-means</kwd>
        <kwd>Clustering</kwd>
        <kwd>Technical Debt</kwd>
        <kwd>Code Smell</kwd>
        <kwd>Community Smell</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Technical debt (TD) refers to the technical compromises made postponing
software maintenance activities that can yield short-term bene t but may sabotage
the long-term health of a software system [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Many studies have contributed
to the domain of TD management in terms of a number of perspectives [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
Code smell, as a type of TD and also a TD identi cation technique, has been
also studied regarding its relation to fault induction and impact on maintenance
e orts [
        <xref ref-type="bibr" rid="ref12 ref22 ref27 ref29 ref37">27, 37, 12, 22, 29</xref>
        ]. However, technical factors, e.g., TD, are not always the
key factor for software failures. Social and technical debt, as well as code and
community smells are deeply connected [
        <xref ref-type="bibr" rid="ref24 ref33">24, 33</xref>
        ]. Thus, investigating the software
projects as communities and research on developer behaviors shall contribute to
the understanding of the social factors towards software success [
        <xref ref-type="bibr" rid="ref11 ref21">21, 11</xref>
        ]. On
the other hand, towards the improvement of software productivity and
quality, data mining methods have been increasingly applied in various sub-domains
[
        <xref ref-type="bibr" rid="ref35">35</xref>
        ]. Regarding TD and code smell, many studies have also adopted data mining
methods, towards various perspectives [
        <xref ref-type="bibr" rid="ref10 ref14 ref26 ref6">10, 6, 14, 26</xref>
        ]. However, limited studies
have contributed to investigating the phenomena of community smell using data
mining methods.
      </p>
      <p>
        This study focus on the analysis of project developers based on their TD
related behavior statistics, answering the research questions of RQ1. What are
the di erent kinds of project developer behaviors? and RQ2. How to classify the
project developers based on their TD related behaviors?. It aims to provide an
approach to classify the software project developers using K-means clustering.
The data used herein is adopted from the Technical Debt Dataset, which provides
the measurement of the over 100k commits of 33 projects [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. This study aims
to contribute to the understanding of the open source project developer groups
and the future studies on community smell.
      </p>
      <p>The reminder of the article is organized as follows. Section 2 introduces the
related work regarding TD, code and community smell, and using data mining
methods in such domains. Section 3 describes the data used hereby. Section 4
introduces the method used to analyze the data while Section 5 presents the
results. In addition, Section 6 provides further discussion on the limitation and
future work of this study. Section 7 concludes the article.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>
        Regarding TD in the domain of software engineering, many studies have been
conducted regarding its identi cation [
        <xref ref-type="bibr" rid="ref37">37</xref>
        ], measurement and monitoring [
        <xref ref-type="bibr" rid="ref20 ref27">27, 20</xref>
        ],
and management [
        <xref ref-type="bibr" rid="ref17 ref4">4, 17</xref>
        ]. Specially regarding code smell, which is closely related
to TD, has also been widely studied regarding the above mentioned perspectives
[
        <xref ref-type="bibr" rid="ref23 ref29">23, 29</xref>
        ]. Studies on community smell emerge from the research on software
communities evolution [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] and the contrast concept of social debt towards the TD
counterpart [
        <xref ref-type="bibr" rid="ref31 ref32">32, 31</xref>
        ]. Focusing on the social factors toward community smells,
recent empirical studies have contributed to the research on the e ect of
community diversity [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] as well as the ways of promoting community inclusiveness
[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. The general research regarding the social aspect of software community dates
back to earlier [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Regarding categorizing developer behaviors, Nakakoji et al.
propose an 'onion model' as well as a developer classi cation including
peripheral developers, active developers, core members and project leaders [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. Yu and
Ramaswamy also present a classi cation of core and associate project member
based on interaction frequency [
        <xref ref-type="bibr" rid="ref36">36</xref>
        ].
      </p>
      <p>
        On the other hand, data mining methods have been applied in the research on
TD as well. Many studies have used natural language process (NLP) techniques
in self-admitted TD detection and identi cation [
        <xref ref-type="bibr" rid="ref14 ref28">28, 14</xref>
        ]. Agarwal et al. apply
multiple machine learning methods in developing a contexual learning system
tackling TD issues [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Baylor et al. propose a TensorFlow-based general-purpose
machine learning platform to standardize the components, simplify the platform
con guration and reduce the TD of platform creation and maintenance [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
However, the studies regarding community smell analysis with data mining methods
are still limited.
      </p>
    </sec>
    <sec id="sec-3">
      <title>Data Description</title>
      <p>
        The dataset used in this study is the Technical Debt Dataset originally presented
by Lenarduzzi et al. [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. It selected 33 Java projects from the Apache Software
Foundation (ASF) repository1, which are older than three years and developed
in Java, contain more than 500 commits and more than 100 classes, and use Jira
issue tracking systems with at least 100 issues. The data collection tools include
PyDriller [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ], Ptidej [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], Refactoring Miner [
        <xref ref-type="bibr" rid="ref34">34</xref>
        ] and SonarQube2. Speci cally,
to identify the fault-inducing commits from a project's version history, the SZZ
algorithm is used via the implementation of OpenSZZ [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ].
      </p>
      <p>The Technical Debt Dataset contains the following tables shown in Table 1.</p>
      <p>As this study focus on the analysis of project developer behaviors, only the
tables directly related to faults, issues and TD are selected, including Commits,
Fault inducing commits and Sonar issue. The Commits table contains 128375
commits ranging from 2000-10-01 to 2018-11-01 committed by 915 unique
developers (identi ed by committerIDs). The Fault inducing commits table contains
the 27340 unique faults with the according inducing and xing commits
identied by the CommitHash, via which the developers who induce or x the faults
can be identi ed. The Sonar issue table contains the 1949899 issues' information
regarding the developers who create the issues via their commits, as well as the
according severity, TD, and issue types (including code smell, bug, and
vulnerability). Therein, 1869397 reported issues are code smell (95.9%) when bug and
vulnerability cover respectively 57812 (3.0%) and 22690 (1.1%)</p>
    </sec>
    <sec id="sec-4">
      <title>Method</title>
      <sec id="sec-4-1">
        <title>Preprocessing</title>
        <p>1 http://apache.org
2 https://www.sonarqube.org/
Focusing on identify each developer's project committing behavior, the originally
selected datasets are processed towards a collection of individual developers with
the according set of behavior data as features. Firstly, a set of unique developers
are identi ed by concatenating the `CommitterId' column of the Commits table
and the `author' column of the Sonar issue table. By doing so, 407 unique
developers are selected.</p>
        <p>Thereafter, for each selected developer, the calculated features regarding
his/her committing behavior include Commit number, Active days, Induced fault
number, Fixed fault number, TD, Issue Number, average issue severity, Code
smell issue rate, Bug issue rate, and Vulnerability issue rate. Therein, Commit
number is counted directly from the Commit table. Active days are the day
counts from each developer's rst commit date to the last. TD is the sum of
those of the developer related issues recorded in the Sonar issue table, from
which issue number and the rate of each issue type for each developer can be
also calculated. To calculate the average severity of issues for each developer,
the severity levels (i.e., Blocker, Critical, Major, Minor, and Info) are quanti ed
into ratings from 5 to 1 (5 being the most severe).</p>
        <p>
          Furthermore, due to the di erence in developers' active periods, the Commit
number, Induced fault number, Fixed fault number, TD, and Issue Number will
be rstly normalized by the Active days. Then the above mentioned data, as well
as the average issue severity, will be further normalized into values in [
          <xref ref-type="bibr" rid="ref1">0, 1</xref>
          ]. As
the three issue type rates are originally between 0 and 1, the according values
will remain. A sample of the preprocessed dataset is shown as Figure 1.
4.2
        </p>
      </sec>
      <sec id="sec-4-2">
        <title>K-means Clustering</title>
        <p>
          In order to classify the unlabelled data shown above, in this study K-means
clustering is used. K-means clustering was used to extract clusters from the
dataset. K-means, as a partitional clustering method, has been widely adopted
in various data mining related domains due to its ease of implementation and
e ciency in application [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]. K-means clustering takes in an m n data matrix
(i.e., m data points, n features) to create k clusters. The cluster number k must
be pre-de ned when each data point will be assigned to one of the k clusters. The
iterative process starts by assigning k random data points each to one cluster
as the cluster center. Each of the remaining m k data points will be assigned
to the cluster whose center is closest to it. Thereafter for each iteration, the
center of the obtained k clusters will be relocated when each data point will be
adjusted to the cluster of the closest newly de ned center. The k clusters are
nalized when no data point will change clusters. For this study, the number
of clusters k is determined using the Silhouette Analysis [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ] when the initial
seeding is optimized using k-means++ algorithm [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ].
5
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Results</title>
      <p>The optimized number of clusters k is determined by the Silhouette Analysis.
The average Silhouette score is calculated for each k from 2 to 10, with the result
shown in Figure 2.</p>
      <p>Accordingly, the highest score obtained from 2 to 10 clusters is 0.6567 at
k = 3, which is selected as the number of clusters. With the selected k, the
Kmeans clustering is performed on the preprocessed data, obtaining three clusters
containing respectively 20, 12, and 375 data points. Di erences between the
clusters of developers regarding each feature can be seen in Figure 3.</p>
      <p>By observing such results, the di erent developer behaviors (i.e., each cluster)
can be summarized as follows.</p>
      <p>Veteran (Cluster 1) Veteran developers contribute the highest number of
commits per active day (avg. 2.75 compared to 0.12 of Cluster 2 and 0.3 of Cluster 3).
With a relevantly high fault inducing rate (avg. 0.03), Veterans have the highest
fault xing rate (nearly 10 times the others). Importantly, they create the
highest TD (avg. 1877.96 compared to 82.83 and 42.48) and the number of issues
(avg. 87.58 compared to 8.44 and 2.88) of all developer groups. Despite only 20
out of 407 developers belong to this group, they inject the most issues (923949),
including 883549 code smell issues, 10449 bugs, and 29951 vulnerability issues.
Nonetheless, the average severity of their created issues is the lowest, but cannot
be signi cantly distinguished. 94 percent of the issues created are code smells.
Surprisingly, Veterans have the lowest active day duration (avg. 277.5 days).
Vulnerability Creator (Cluster 2) Vulnerability Creators have the highest
vulnerability issue rates of all groups (avg. 0.41). Accordingly, they have also the
lowest code smell rate and bug rate. Vulnerability Creators have also the lowest
commits per active day (avg. 0.12), lowest fault inducing (avg. 0.0004) and
xing rate (0.01). However, the average issue severity level of them is the highest
among the groups. They have, on average, nearly 3 times the active period length
compared to Debt Creators (avg. 725.0 days). 12 out of 407 developers belong
to this group. However, compare to the other behavior groups, they inject the
lowest number of issues in total (6475).</p>
      <p>Fault Inducer/Commoner (Cluster 3) Fault Inducer/Commoner is statistically
the most common developer behavior group, as 375 out of the 407 developers
belong to this behavior group. Compared to the other groups, they have the
highest fault inducing rate (avg. 0.05 compared to 0.03 and 0.0004) while the
similarly low fault xing rate compared to Vulnerability Creators. On the other
hand, they have the lowest TD and number of issues created but the highest
code smell percentage. They also have the longest active period length of all
groups (avg. 1061 days). Despite being the majority based on behaviors, the
total number of issues (620241) injected by this behavior group is less than that
of the 20 veteran developers, as well in each issue type.</p>
      <p>To summarize, project developers can be classi ed into three di erent developer
behavior groups, including Veterans, Vulnerability Creators, and Fault Inducers/
Commoners. The most common developers are the Fault Inducers/Commoners,
who most likely induce faults despite of the low commit rates. But the
Commoners seldom create TD and issues. A small group of developers (i.e., Veterans)
create the most TD and issues (over 40 times those of the Commoners). They also
the highest commit rates, fault xing rates and the lowest active duration. The
third group of developers (i.e., Vulnerability Creators) have the lowest commit
rate and fault inducing rate, but twice the TD created compared to the
Commoners. They also have the highest vulnerability issue creation rate, despite of
the lowest issue injection number.
6</p>
    </sec>
    <sec id="sec-6">
      <title>Discussion</title>
      <p>
        This study provides a preliminary analysis on software developer classi cation
based on their committing behaviors using K-means clustering. It contributes
to the larger domain of data-driven software engineering [
        <xref ref-type="bibr" rid="ref35">35</xref>
        ]. By classifying the
di erent project developers and identifying their similarities regarding
committing behaviors, proactive mechanisms can be deployed for di erent developers
accordingly towards tackling issues like code smell and community smell e
ectively.
      </p>
      <p>
        One of the limitations of this study is that only limited perspectives of the
developer behavior are taken into account. More details of the sonar issues
contained in the Sonar measures table can be mapped to each commit in the
Commits table, which leads to adding more features to the developer data points.
Furthermore, despite that K-means being the most commonly adopted clustering
method, other clustering methods, e.g., Agglomerative Hierarchical Clustering
and Density-Based Spatial Clustering of Applications with Noise (DBSCAN)
[
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] can be used in the future for comparison. Evaluation of the obtained
clustering results is not conducted in this study. It can be done using purity metrics
[
        <xref ref-type="bibr" rid="ref38">38</xref>
        ] when ground truth of the developer labeling is obtained. In addition, a
worth noticing phenomena in the original dataset is that, when the
CommitterID in Commits table and that of Commit Changes table are mapped via
CommitHashes, all the mappings are not unique (meaning one developer email
can be mapped to more than one developer names, and vice versa). It indicates
the the results can be to some extent inaccurate by considering each
CommitterID/email representing only one individual developer.
      </p>
      <p>The future work of this study include the continuous exploratory research on
software developer analysis using larger volume of data. Other clustering
methods shall be used for comparison. Furthermore, based on the current clustering
results, further investigation of each unique type of developer behavior can be
conducted with the text mining on e.g., the messages in Commits table and
Sonar issue table via NLP techniques.
7</p>
    </sec>
    <sec id="sec-7">
      <title>Conclusion</title>
      <p>This study presents a preliminary analysis on the classi cation of software project
developers based on their committing behaviors using K-means clustering. Three
unique developer behavior groups are obtained, including Veterans,
Vulnerability Creators, and Fault Inducers/ Commoners. The di erent developer behaviors
are distinguishable in terms of their di erences in commit rates, fault inducing
and xing rates, technique debts, issues creating, active periods and so on. This
study contributes to the larger picture of data-driven software engineering and
also speci cally the research on TD and community smell.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Agarwal</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bird</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cozowicz</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hoang</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Langford</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lee</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Melamed</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oshri</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ribas</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          , et al.:
          <article-title>Making contextual decisions with low technical debt</article-title>
          .
          <source>arXiv preprint arXiv:1606.03966</source>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Arthur</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vassilvitskii</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>k-means++: The advantages of careful seeding</article-title>
          .
          <source>In: Proceedings of the eighteenth annual ACM-SIAM symposium on Discrete algorithms</source>
          . pp.
          <volume>1027</volume>
          {
          <fpage>1035</fpage>
          .
          <string-name>
            <surname>Society</surname>
          </string-name>
          for Industrial and Applied Mathematics (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Baylor</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Breck</surname>
          </string-name>
          , E., Cheng, H.T.,
          <string-name>
            <surname>Fiedel</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Foo</surname>
            ,
            <given-names>C.Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Haque</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Haykal</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ispir</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jain</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Koc</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          , et al.:
          <article-title>Tfx: A tensor ow-based production-scale machine learning platform</article-title>
          .
          <source>In: Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining</source>
          . pp.
          <volume>1387</volume>
          {
          <fpage>1395</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Brown</surname>
          </string-name>
          , N.,
          <string-name>
            <surname>Cai</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guo</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kazman</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kim</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kruchten</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lim</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>MacCormack</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nord</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ozkaya</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          , et al.:
          <article-title>Managing technical debt in software-reliant systems</article-title>
          .
          <source>In: Proceedings of the FSE/SDP workshop on Future of software engineering research</source>
          . pp.
          <volume>47</volume>
          {
          <fpage>52</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Catolino</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Palomba</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tamburri</surname>
            ,
            <given-names>D.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Serebrenik</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ferrucci</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Gender diversity and women in software teams: How do they a ect community smells?</article-title>
          <source>In: Proceedings of the 41st International Conference on Software Engineering: Software Engineering in Society</source>
          . pp.
          <volume>11</volume>
          {
          <fpage>20</fpage>
          . IEEE Press (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Codabux</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Williams</surname>
            ,
            <given-names>B.J.:</given-names>
          </string-name>
          <article-title>Technical debt prioritization using predictive analytics</article-title>
          .
          <source>In: Proceedings of the 38th International Conference on Software Engineering Companion</source>
          . pp.
          <volume>704</volume>
          {
          <fpage>706</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Cunningham</surname>
            ,
            <given-names>W.:</given-names>
          </string-name>
          <article-title>The wycash portfolio management system</article-title>
          .
          <source>ACM SIGPLAN OOPS Messenger</source>
          <volume>4</volume>
          (
          <issue>2</issue>
          ),
          <volume>29</volume>
          {
          <fpage>30</fpage>
          (
          <year>1993</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Datta</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sindhgatta</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sengupta</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Evolution of developer collaboration on the jazz platform: a study of a large scale agile project</article-title>
          .
          <source>In: Proceedings of the 4th India Software Engineering Conference</source>
          . pp.
          <volume>21</volume>
          {
          <fpage>30</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Ford</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Milewicz</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Serebrenik</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>How remote work can foster a more inclusive environment for transgender developers</article-title>
          .
          <source>In: Proceedings of the 2nd International Workshop on Gender Equality in Software Engineering</source>
          . pp.
          <volume>9</volume>
          {
          <fpage>12</fpage>
          . IEEE Press (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Fu</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shen</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Code bad smell detection through evolutionary data mining</article-title>
          .
          <source>In: 2015 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM)</source>
          . pp.
          <volume>1</volume>
          {
          <issue>9</issue>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Goeminne</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mens</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Analyzing ecosystems for open source software developer communities</article-title>
          .
          <source>Software Ecosystems: Analyzing and Managing Business Networks in the Software</source>
          Industry pp.
          <volume>247</volume>
          {
          <issue>275</issue>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Hall</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Beecham</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bowes</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gray</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Counsell</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>A systematic literature review on fault prediction performance in software engineering</article-title>
          .
          <source>IEEE Transactions on Software Engineering</source>
          <volume>38</volume>
          (
          <issue>6</issue>
          ),
          <volume>1276</volume>
          {
          <fpage>1304</fpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Han</surname>
            ,
            <given-names>J</given-names>
          </string-name>
          .,
          <string-name>
            <surname>Pei</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kamber</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Data mining: concepts and techniques</article-title>
          .
          <source>Elsevier</source>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Huang</surname>
            ,
            <given-names>Q.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shihab</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Xia</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lo</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Identifying self-admitted technical debt in open source projects using text mining</article-title>
          .
          <source>Empirical Software Engineering</source>
          <volume>23</volume>
          (
          <issue>1</issue>
          ),
          <volume>418</volume>
          {
          <fpage>451</fpage>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Lenarduzzi</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          , , Saarimaki, N.,
          <string-name>
            <surname>Taibi</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>The technical debt dataset</article-title>
          .
          <source>In: The Fifteenth International Conference on Predictive Models and Data Analytics in Software Engineering (PROMISE'19) (Sept</source>
          <year>2019</year>
          ). https://doi.org/10.1145/3345629.3345630
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Lenarduzzi</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sillitti</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Taibi</surname>
            ,
            <given-names>D.:</given-names>
          </string-name>
          <article-title>A survey on code analysis tools for software maintenance prediction</article-title>
          .
          <source>In: International Conference in Software Engineering for Defence Applications</source>
          . pp.
          <volume>165</volume>
          {
          <fpage>175</fpage>
          . Springer (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Letouzey</surname>
            ,
            <given-names>J.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ilkiewicz</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Managing technical debt with the sqale method</article-title>
          .
          <source>IEEE software 29(6)</source>
          ,
          <volume>44</volume>
          {
          <fpage>51</fpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Avgeriou</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liang</surname>
            ,
            <given-names>P.:</given-names>
          </string-name>
          <article-title>A systematic mapping study on technical debt and its management</article-title>
          .
          <source>Journal of Systems and Software</source>
          <volume>101</volume>
          ,
          <issue>193</issue>
          {
          <fpage>220</fpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Llet</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ortiz</surname>
            ,
            <given-names>M.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sarabia</surname>
            ,
            <given-names>L.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sanchez</surname>
            ,
            <given-names>M.S.:</given-names>
          </string-name>
          <article-title>Selecting variables for k-means cluster analysis by using a genetic algorithm that optimises the silhouettes</article-title>
          .
          <source>Analytica Chimica Acta</source>
          <volume>515</volume>
          (
          <issue>1</issue>
          ),
          <volume>87</volume>
          {
          <fpage>100</fpage>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Marinescu</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <article-title>Assessing technical debt by identifying design aws in software systems</article-title>
          .
          <source>IBM Journal of Research and Development</source>
          <volume>56</volume>
          (
          <issue>5</issue>
          ), 9{
          <issue>1</issue>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Nakakoji</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yamamoto</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nishinaka</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kishida</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ye</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Evolution patterns of open-source software systems and communities</article-title>
          .
          <source>In: Proceedings of the international workshop on Principles of software evolution</source>
          . pp.
          <volume>76</volume>
          {
          <fpage>85</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Olbrich</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cruzes</surname>
            ,
            <given-names>D.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Basili</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zazworka</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          :
          <article-title>The evolution and impact of code smells: A case study of two open source systems</article-title>
          .
          <source>In: 2009 3rd international symposium on empirical software engineering and measurement</source>
          . pp.
          <volume>390</volume>
          {
          <fpage>400</fpage>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Palomba</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bavota</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Di</surname>
            <given-names>Penta</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Oliveto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>De Lucia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Poshyvanyk</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          :
          <article-title>Detecting bad smells in source code using change history information</article-title>
          .
          <source>In: Proceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering</source>
          . pp.
          <volume>268</volume>
          {
          <fpage>278</fpage>
          . IEEE Press (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Palomba</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tamburri</surname>
            ,
            <given-names>D.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Serebrenik</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zaidman</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fontana</surname>
            ,
            <given-names>F.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oliveto</surname>
          </string-name>
          , R.:
          <article-title>How do community smells in uence code smells?</article-title>
          <source>In: 2018 IEEE/ACM 40th International Conference on Software Engineering: Companion (ICSE-Companion)</source>
          . pp.
          <volume>240</volume>
          {
          <fpage>241</fpage>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>Pellegrini</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lenarduzzi</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Taibi</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Openszz: A free, opensource, web-accessible implementation of the szz algorithm (</article-title>
          <year>2019</year>
          ). https://doi.org/10.5281/zenodo.3337791, https://zenodo.org/record/3337791
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>Rubin</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Henniche</surname>
            ,
            <given-names>A.N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moha</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bouguessa</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bousbia</surname>
          </string-name>
          , N.:
          <article-title>Sni ng android code smells: an association rules mining-based approach</article-title>
          .
          <source>In: Proceedings of the 6th International Conference on Mobile Software Engineering and Systems</source>
          . pp.
          <volume>123</volume>
          {
          <fpage>127</fpage>
          . IEEE Press (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>Seaman</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guo</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Measuring and monitoring technical debt</article-title>
          .
          <source>In: Advances in Computers</source>
          , vol.
          <volume>82</volume>
          , pp.
          <volume>25</volume>
          {
          <fpage>46</fpage>
          .
          <string-name>
            <surname>Elsevier</surname>
          </string-name>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28. da Silva Maldonado,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Shihab</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Tsantalis</surname>
          </string-name>
          , N.:
          <article-title>Using natural language processing to automatically detect self-admitted technical debt</article-title>
          .
          <source>IEEE Transactions on Software Engineering</source>
          <volume>43</volume>
          (
          <issue>11</issue>
          ),
          <volume>1044</volume>
          {
          <fpage>1062</fpage>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <surname>Sj berg</surname>
            ,
            <given-names>D.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yamashita</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Anda</surname>
            ,
            <given-names>B.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mockus</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dyba</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Quantifying the e ect of code smells on maintenance e ort</article-title>
          .
          <source>IEEE Transactions on Software Engineering</source>
          <volume>39</volume>
          (
          <issue>8</issue>
          ),
          <volume>1144</volume>
          {
          <fpage>1156</fpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          30.
          <string-name>
            <surname>Spadini</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Aniche</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bacchelli</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Pydriller: Python framework for mining software repositories</article-title>
          .
          <source>In: Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering</source>
          . pp.
          <volume>908</volume>
          {
          <fpage>911</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          31.
          <string-name>
            <surname>Tamburri</surname>
            ,
            <given-names>D.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kazman</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fahimi</surname>
          </string-name>
          , H.:
          <article-title>The architect's role in community shepherding</article-title>
          .
          <source>IEEE Software 33(6)</source>
          ,
          <volume>70</volume>
          {
          <fpage>79</fpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          32.
          <string-name>
            <surname>Tamburri</surname>
            ,
            <given-names>D.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kruchten</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lago</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Van Vliet</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          :
          <article-title>Social debt in software engineering: insights from industry</article-title>
          .
          <source>Journal of Internet Services and Applications</source>
          <volume>6</volume>
          (
          <issue>1</issue>
          ),
          <volume>10</volume>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          33.
          <string-name>
            <surname>Tamburri</surname>
            ,
            <given-names>D.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Palomba</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Serebrenik</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zaidman</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Discovering community patterns in open-source: A systematic approach and its evaluation</article-title>
          .
          <source>Empirical Software Engineering</source>
          <volume>24</volume>
          (
          <issue>3</issue>
          ),
          <volume>1369</volume>
          {
          <fpage>1417</fpage>
          (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          34.
          <string-name>
            <surname>Tsantalis</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mansouri</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eshkevari</surname>
            ,
            <given-names>L.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mazinanian</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dig</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Accurate and e cient refactoring detection in commit history</article-title>
          .
          <source>In: Proceedings of the 40th International Conference on Software Engineering</source>
          . pp.
          <volume>483</volume>
          {
          <fpage>494</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          35.
          <string-name>
            <surname>Xie</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thummalapenta</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lo</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liu</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Data mining for software engineering</article-title>
          .
          <source>Computer</source>
          <volume>42</volume>
          (
          <issue>8</issue>
          ),
          <volume>55</volume>
          {
          <fpage>62</fpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          36.
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ramaswamy</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Mining cvs repositories to understand open-source project developer roles</article-title>
          .
          <source>In: Fourth International Workshop on Mining Software Repositories (MSR'07: ICSE Workshops</source>
          <year>2007</year>
          ). pp.
          <volume>8</volume>
          {
          <issue>8</issue>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          37.
          <string-name>
            <surname>Zazworka</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Izurieta</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wong</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cai</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Seaman</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shull</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          , et al.:
          <article-title>Comparing four approaches for technical debt identi cation</article-title>
          .
          <source>Software Quality Journal</source>
          <volume>22</volume>
          (
          <issue>3</issue>
          ),
          <volume>403</volume>
          {
          <fpage>426</fpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          38.
          <string-name>
            <surname>Zhao</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Karypis</surname>
          </string-name>
          , G.:
          <article-title>Criterion functions for document clustering: Experiments and analysis (</article-title>
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>