<!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>Evaluating an Assistant for Creating Bug Report Assignment Recommenders</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>John Anvik</string-name>
          <email>john.anvik@uleth.ca</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Lethbridge Lethbridge</institution>
          ,
          <country country="CA">Canada</country>
        </aff>
      </contrib-group>
      <fpage>26</fpage>
      <lpage>39</lpage>
      <abstract>
        <p>Software development projects receive many change requests each day and each report must be examined to decide how the request will be handled by the project. One decision that is frequently made is to which software developer to assign the change request. Efforts have been made toward semiautomating this decision, with most approaches using machine learning algorithms. However, using machine learning to create an assignment recommender is a complex process that must be tailored to each individual software development project. The Creation Assistant for Easy Assignment (CASEA) tool leverages a project member's knowledge for creating an assignment recommender. This paper presents the results of a user study using CASEA. The user study shows that users with limited project knowledge can quickly create accurate bug report assignment recommenders.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Copyright is held by the author/owner(s).
EICS’16, June 21-24, 2016, Bruxelles, Belgium.</p>
    </sec>
    <sec id="sec-2">
      <title>Author Keywords</title>
      <p>bug report triage; assignment recommendation; machine
learning; recommender creation; computer supported work</p>
    </sec>
    <sec id="sec-3">
      <title>ACM Classification Keywords</title>
      <p>H.5.m [Information interfaces and presentation (e.g., HCI)]:
Miscellaneous; I.2.4 [Programming Languages and
Software: Expert system tools and techniques]; I.2.7 [Natural
Language Processing: Text analysis]</p>
    </sec>
    <sec id="sec-4">
      <title>Introduction</title>
      <p>
        Large software development projects can receive hundreds
of bug reports per day [
        <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
        ]. Each of these bug reports
needs to be analyzed and decisions made about how the
report will be handled by the project. In cases where a
change to the source code is needed, a decision is made
about to whom the work will be assigned. This decision
process is called bug triage and must be done for all incoming
reports.
      </p>
      <p>
        Bug triage takes significant time and resources [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Bug
report assignment recommenders have been proposed as a
method for reducing this overhead. Many researchers have
investigated different approaches for assignment
recommender creation, with most focusing on the use of machine
learning [
        <xref ref-type="bibr" rid="ref15 ref29 ref31 ref5 ref7">5, 7, 15, 29, 31</xref>
        ].
      </p>
      <p>
        Conceptually, the creation of an assignment recommender
using machine learning is straightforward [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. However in
practice creating an assignment recommender for a specific
software development project is challenging. The Creation
Assistant for Easy Assignment (CASEA) tool [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] was
created to assist software development projects in creating
machine learning assignment recommenders tailored to a
specific project.
      </p>
      <p>This paper presents the results of a user study using CASEA
to create assignment recommenders for a large open source
project, and is the first such study. The study found that
subjects could quickly create an accurate assignment
recommender using the tool, despite the users having no
specific knowledge about the software project.</p>
      <p>To our best knowledge, CASEA is the first system to
address the bug report assignment recommender creation
problem, and this paper presents the first study of its use.</p>
      <p>This paper proceeds as follows. First, an overview of CASEA
is presented. Next, the results from a user study involving
subjects creating assignment recommenders for the Eclipse
Platform project are presented. The paper then concludes
with a discussion of some of the threats to the validity of
this work, related work and possible future improvements
to make CASEA more practical for software development
projects.</p>
    </sec>
    <sec id="sec-5">
      <title>Background</title>
      <p>This section presents background information about bug
reports, their life cycles, and machine learning.</p>
      <sec id="sec-5-1">
        <title>Bug reports</title>
        <p>Bug reports, also known as change requests, provide a
means for users to communicate software faults or
feature requests to software developers. They also provide
a means for developers to manage software development
tasks. Bug reports contain a variety of information, some
of which is categorical and some of which is descriptive.
Categorical information includes such items as the report’s
identification number (i.e. bug id), its resolution status (e.g.,
NEW or RESOLVED), the component the report is believed
to involve, and which developer has been assigned the
work. Descriptive information includes the title of the report,
the description of the report, and discussions about
possible approaches to resolving the report. Finally, a report may
contain other information, such as attachments or links to
other reports.</p>
      </sec>
      <sec id="sec-5-2">
        <title>Bug report lifecycle</title>
        <p>
          All bug reports have a lifecycle. When a bug report first
enters a project’s issue tracking system (ITS), it is in a state
such as UNCONFIRMED or NEW. The bug report will then
move through different states, depending on the project’s
development process, and arrive at a resolution state, such
as FIXED or INVALID. The lifecycle of a bug report can be
used to categorize bug reports [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. Figure 1 shows an
example life cycle state graphs from the Bugzilla ITS [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ].
        </p>
      </sec>
      <sec id="sec-5-3">
        <title>Machine learning algorithms</title>
        <p>
          Machine learning algorithms Machine learning is the
development of algorithms and techniques that allow computers
to learn [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ]. Machine learning algorithms fall under three
categories: supervised learning, unsupervised learning,
and reinforcement learning. Bug report assignment
recommenders primarily use supervised learning algorithms, such
as Support Vector Machines (SVM) [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ], Naive Bayes [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ]
and ML-KNN [
          <xref ref-type="bibr" rid="ref30">30</xref>
          ]. Understanding how a machine learning
algorithm creates a recommender requires understanding
three concepts: the feature, the instance and the class. A
feature is a specific piece of information that is used to
determine the class, such as a term that appears in one or
more of a set of bug reports. An instance is a collection of
features that have specific values, such as all of the terms
in the description of a specific bug report. Finally, a class is
the collection of instances that all belong to the same
category, such as all of the bug reports fixed by a developer. In
supervised machine learning, training instances are labeled
with their class. A recommender is created from a set of
instances and the output of the recommender is a subset of
the classes predicted for a new instance.
        </p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Creation assistant for easy assignment</title>
      <p>
        The Creation Assistant for Easy Assignment (CASEA) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]
is a software tool to assist a software project in creating
and maintaining bug report assignment recommenders.
CASEA guides a project member through the assignment
recommender creation process in four steps: Data
Collection, Data Preparation, Recommender Training, and
Recommender Evaluation. The remainder of this section
presents an overview of how CASEA assists with each of
these steps.
      </p>
      <sec id="sec-6-1">
        <title>Data collection</title>
        <p>The first step in recommender creation is to gather the data
to be used for creating the recommender. Specifically, bug
reports are extracted from the project’s issue tracking
system (ITS). The project member provides the URL of the
project’s ITS, a date range for data collection, and an
optional maximum limit for number of reports to gather.
Reports that have a resolution status of RESOLVED,
VERIFIED or CLOSED are gathered chronologically, with every
tenth report selected as a testing report to create an
unbiased set for evaluation.</p>
      </sec>
      <sec id="sec-6-2">
        <title>Data preparation</title>
        <p>Having collected the data from the project’s ITS, the next
step is to filter the data to produce the highest quality
training set. Two types of filtering are performed: automatic and
assisted.</p>
        <p>
          The automatic filtering performs three actions on the textual
data. First, terms that are stopwords (i.e. common words
such as ’a’ and ’the’) are removed. Next, stemming is
performed to reduce all of the terms to their respective root
values so that words such as ’user’ and ’users’ are treated
as the same word, ensuring a common vocabulary between
the reports. Finally, punctuation and numeric values are
removed, except where the punctuation is important to the
term, such as URLs or class names (e.g. “org.eclipse.jdt”).
CASEA assists the user with two types of filtering: label
filtering and instance filtering. To assist with label filtering,
CASEA presents the user with a label frequency graph. For
an assignment recommender, this graph presents bug
fixing statistics, a type of activity profile [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ], for the project
developers based on a random sample of all of the bug
reports in the training data set. Figure 2 shows the
Configuration tab and an example of label filtering. As can be
seen in the graph, developer activity follows a Pareto
distribution curve with a few developers contributing the bulk
of the work, and many other developers making small
contributions [
          <xref ref-type="bibr" rid="ref11 ref18 ref22 ref26">11, 18, 22, 26</xref>
          ]. CASEA visualizes the project’s
development activity and allows the user to select a
threshold using a slider, such that only a core set of developers
are recommended. In Figure 2, a cutoff of 21 has been
selected.
        </p>
        <p>Instance filtering is done using project-specific heuristics.
The heuristics have two parts: a grouping rule and a label
source. The grouping rule is used to categorize the data
into groups for which the label source will be used for
labeling the instances. For an assignment recommender,
the grouping rule is a bug report lifecycle (called “Path
Group” in Figure 2) and the label source (i.e. data source
in Figure 2) is either a field from the bug report, such as the
assigned-to field, or other labelling information that can be
extracted from the bug report, such as the user that last
attached a patch or the developer who marked the report as
resolved.</p>
        <p>Figure 2 shows an example of instance filtering in CASEA.
All of the training reports are used to determine the specific
bug report life cycles for the project and the user is
presented with a statistical summary of the categories. The
figure shows that for the data set for the Eclipse Product
project, 30.6the reports have a NEW!FIXED (NF)
lifecycle, followed by 22.6% NEW!FIXED!VERIFIED (NFV),
and 15.6% being NEW (N). Using this information, the user
can create heuristics for the most common occurring
categories. In this case, “FixedBy” was chosen for the NF
category, “Resolver” for the NFV category, and “Reporter” for
the N category. The user can also choose the number of
heuristics to be applied, to a maximum of ten; six was
chosen in Figure 2.</p>
      </sec>
      <sec id="sec-6-3">
        <title>Recommender Training</title>
        <p>
          After filtering the data to create the set of training and
evaluation instances for the recommender, the data is then
formatted for use with the machine learning algorithm. Once
the user has filtered the data and the data is formatted, the
recommender is created using a multi-class Support Vector
Machines (SVM) algorithm with a Gaussian kernel. SVM is
a commonly used algorithm for assignment
recommendation [
          <xref ref-type="bibr" rid="ref5 ref7">5, 7</xref>
          ].
        </p>
      </sec>
      <sec id="sec-6-4">
        <title>Recommender Evaluation</title>
        <p>Once the user starts the recommender creation process,
the user is moved to the Analysis tab that presents the
recommender evaluation results (Figure 3 ). The user can then
return to the Configuration tab, adjust the values for label
and instance filtering, and create a new recommender. This
process continues until the user is either satisfied with the
created recommender, or the user has determined that an
assignment recommender cannot be created with a high
enough accuracy to benefit the project. At any time the user
can save the recommender configuration and return at a
later date.</p>
        <p>CASEA uses the metrics of precision and recall to
evaluate a created recommender. It presents results for the top
recommendation (top-1), the top 3 recommendations
(top3), and the top 5 recommendations (top-5). Figure 3 shows
an example of the evaluation results for a recommender
after eighteen trials. It shows that the first four
configurations did not create very accurate recommenders as the
activity threshold was too low, but when the threshold was
raised, a more accurate recommender was produced. After
about five more trials, a good heuristic configuration was
determined that produced an assignment recommender
with a high top-1 accuracy and reasonable top-3 and
top5 accuracies. Further experimentation was done with the
heuristics with varying results, before determining that the
configuration from trial #10 was the best configuration.</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>User study of CASEA</title>
      <p>
        A small user study was conducted to assess the potential
for CASEA to assist software projects in creating
assignment recommenders. Specifically, the study sought to
answer qualitative questions such as “What aspects of the
recommender creation process and the CASEA interface
do users find helpful? challenging? or confusing?". This
study was similar in intent to Stumpf et al [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ], who
conducted a user study to determine how users interact with
a machine learning system. The study was conducted
using a sample of eight computer science graduate and
undergraduate students. This study population was selected
under the assumption that using a group with no specific
project knowledge would provide a lowerbound for future
in-field user studies.
      </p>
      <sec id="sec-7-1">
        <title>User Study Setup</title>
        <p>The user study was conducted in the following manner.
First, subjects were asked to complete a prior knowledge
and experience survey. Specifically, subjects were asked
about their prior knowledge and experience in two areas:
technical experience and technical knowledge. For
technical experience, subjects were asked about their level of
experience with issue tracking systems, open source projects
and software testing. To assess prior technical knowledge,
subjects were asked about their familiarity with bug reports,
machine learning algorithms, classifiers or recommender
systems, user interface design principles, and data mining.
A Likert scale (Very Experienced/Familar, Some
Experience/Familarity, Little Experience/ Familarity, Heard Of, No
Experience/Familarity) was used for the self-reporting of
their experience level. After completing the prior
experience and knowledge survey, subjects were asked to
create an assignment recommender for the Eclipse Platform
project within fifteen minutes. Once the subjects expressed
that they were done using CASEA, a debriefing interview
was conducted. The subjects were asked to explain their
approach to creating an assignment recommender using
CASEA and what they recommended as improvements to
the tool, as well as any other comments about their
experience with CASEA.</p>
      </sec>
      <sec id="sec-7-2">
        <title>Prior knowledge and experience</title>
        <p>Figure 4 shows a summary of the responses from subjects
regarding their prior experience. As shown, most of the
subjects had prior experience with issue tracking systems,
with four reporting some experience and four reporting little
experience. Overall testing experience was a bit less, with
six subjects reporting little experience, two reporting “heard
of” and one reporting no experience. Subjects had the least
overall experience with contributing to open source projects,
with two reporting little experience, three reporting “heard
of” and four reporting no experience.1 For technical
knowledge, Figure 5 shows a summary of the responses. Most of
the subjects reported either being very familar (2 subjects)
1Not all subjects provided answers to all of the questions.
or having some familiarity (6 subjects) with user interface
design principles from either recently or currently taking an
undergraduate course about this topic. Half of the subjects
reported familiarity with machine learning algorithms, and
slightly more (5 subjects) reported familiarity with
classifiers and recommender systems. The knowledge in these
areas came from either taking an undergraduate course in
computational intelligence or from other course projects.
Subjects reported the least familiarity with the bug report
lifecycle and data mining.</p>
        <p>For technical knowledge, Figure 5 shows a summary of the
responses. Most of the subjects reported either being very
familar (2 subjects) or having some familiarity (6 subjects)
with user interface design principles from either recently or
currently taking an undergraduate course about this topic.
Half of the subjects reported familiarity with machine
learning algorithms, and slightly more (5 subjects) reported
familiarity with classifiers and recommender systems. The
knowledge in these areas came from either taking an
undergraduate course in computational intelligence or from
other course projects. Subjects reported the least familiarity
with the bug report lifecycle and data mining.</p>
      </sec>
      <sec id="sec-7-3">
        <title>Quantitative Results</title>
        <p>Table 1 shows the quantitative results from the eight
subjects. The first column identifies the subjects. The next two
columns present both the number of trials a subject
conducted before creating their most accurate assignment
recommender, and the total number of trials that the subject
conducted in creating an assignment recommender using
CASEA. The next three columns show the Top-1, Top-3 and
Top-5 precision and recall values for the best Eclipse
Platform assignment recommender created by the subject. The
last three rows of Table 1 show a summary of the results,
presenting the maximum, minimum, and median values for
the columns.</p>
        <p>Table 2 shows the threshold and heuristic configurations for
the best assignment recommender created by each of the
eight subjects. The first two columns list the top ten path
groups for the data set and how much of the data set is
covered by the path group. As shown by the table, 77%
of the data set is covered by the first five path groups, and
most of the subjects specified heuristics for six or fewer
path groups. Also, with
one exception, the “Assigned” data source was used for the
remaining 11%-27% not covered by the specified
heuristics. Half of the subjects chose values less than 10 for the
threshold and the others used values greater than 20. The
results show that the subjects were usually able to create
a reasonably accurate assignment recommender in 10
trials or less. The two most accurate recommenders (created
by Subjects #7 and #8) had the same configuration (i.e.
threshold and heuristic values), as shown in Table 2.</p>
      </sec>
      <sec id="sec-7-4">
        <title>Qualitative Results and Observations</title>
        <p>Based on observations during the study and responses
from the debriefing interview, subjects were found to
employ two strategies for assignment recommender creation
using CASEA. Some subjects were found to be very
experimental in their approach, making many changes
before creating a new recommender. Other users were more
methodical, making small changes and testing the results.
Figure 6 shows a categorization of the different types of
changes (heuristic change, threshold change or both) made
by each subject. As expected, subjects changed the
heuristic configurations the most, and most subjects only changed
the threshold three times or fewer.</p>
        <p>One subject commented that the best strategy was to make
small incremental changes, and that CASEA made it easy</p>
        <sec id="sec-7-4-1">
          <title>Identifier</title>
        </sec>
        <sec id="sec-7-4-2">
          <title>Trial to Best Max Trials</title>
          <p>Top (1%) Top (3%) Top (5%)
Precision Recall Precision Recall Precision Recall
to employ this strategy. Another subject observed that
creating an assignment recommender using CASEA was
similar to trying to get a high score in a game, where the score
was the precision and recall values.</p>
          <p>As part of the recommender evaluation, CASEA provides
information about how long it takes to create a
recommender. This led some subjects to work towards an
incorrect goal of minimizing the recommender creation time.
Although subjects were provided with a brief tutorial of
CASEA and a high level explanation of the recommender
creation process at the beginning of the study session,
subjects encountered a number of problems related to
understanding terminology or concepts. Specifically, the term
“Path Group" was used to describe the categorization of
bug reports, and subjects found this term unintuitive. This
led to some initial confusion about the options in the
heuristic configuration panel. Also, the meaning of the precision
and recall metrics was not initially well understood by
subjects. However, once their meaning was understood,
subjects felt that they made more intelligent choices about the</p>
          <p>As was mentioned, the subjects did not have specific
knowledge about the project, such as who formed the core group
of developers. This led to some subjects choosing a low
activity cutoff so as to not exclude developers, and resulted in
recommenders that were not accurate and took longer to
create. This behavior would not be expected from an actual
project member using CASEA, as they would have
knowledge about the core development team.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-8">
      <title>Threats to validity</title>
      <p>This section highlights some of the threats to the internal
validity, external validity, and construct validity of this work.
Threats to the internal validity of this work relate to the
potential sources of error in the evaluation of CASEA. A
potential source of error is with the creation of the data set
used for the evaluation. Although a random sample of bug
reports was examined to establish that the data collection
procedure was correct, there may have been some bug
reports that contained incorrect data.</p>
      <p>Threats to external validity relate to the generalizability of
the results to other projects or user groups. In this work,
subjects with no project-specific knowledge were used to
evaluate the usability of CASEA. Therefore, these results
would not generalize to those with project-specific
knowledge, but could be considered as a lower-bound for such a
group.</p>
      <p>
        Threats to construct validity refers to the suitability of the
evaluation measures. The method used to determine the
set of developers that could have fixed a bug report, used
for calculating precision and recall, is known to
overestimate the group [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. This results in precision values that
are overvalued, and recall values that are undervalued.
However, the evaluation results in CASEA show the
relative differences between different configurations, so even if
the precision and recall values are over or under their true
value, CASEA still provides meaningful information to the
user.
      </p>
    </sec>
    <sec id="sec-9">
      <title>Related work</title>
      <p>This section presents related work in the areas of
assisting with triage, assisting with recommender creation, and
explaining machine learning.</p>
      <sec id="sec-9-1">
        <title>Assisting with Bug Report Triage</title>
        <p>
          Like CASEA, Porchlight [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] and it’s predecessor
TeamBugs [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] seek to provide a tool to assist project triagers in
making their tasks more efficient. Porchlight allows a triager
to group similar bug reports together using tags, and then
apply a triage decision to the group. This tagging is similar
to the path groups in CASEA, which also groups bug
reports into categories for specifying and applying labelling
heuristics.
        </p>
      </sec>
      <sec id="sec-9-2">
        <title>Assisting with Recommender Creation</title>
        <p>
          SkyTree Infinity [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] and BigML [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] both provide means for
guiding a user through the creation of machine-learning
recommenders. However, using Skytree Infinity still
requires advanced knowledge of machine learning and
statistics [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]. BigML provides no support for data preparation or
visualization, and creates recommenders using
decisiontrees, which was shown to be ineffective for the bug report
assignment problem [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ].
        </p>
      </sec>
      <sec id="sec-9-3">
        <title>Explaining Machine Learning</title>
        <p>One avenue toward making the use of recommender
systems practical is to assist in their creation and evaluation.
This is the approach taken by CASEA. An alternative
approach to making their use practical is by explaining their
results.</p>
        <p>
          Poulin et al. [
          <xref ref-type="bibr" rid="ref28">28</xref>
          ] developed ExplainD, a framework for
explaining decisions made by classifiers that use additive
evidence, such as Naive Bayes. The framework was used in a
bioinformatics web-based system called Proteome Analyst.
Strumbelj and Konoenko [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ] presented a method for
explaining classifier predictions that used coalitional game
theory. The method used a sampling-based approach to
reduce the computational complexity of explaining the
contributions of individual feature values. Their approach was
applied to explaining the results of various machine learning
algorithms, including Naive Bayes and SVM.
        </p>
        <p>
          Kulesza et al. [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ] created an end user debugging approach
for intelligent assistants, such as bug report assignment
recommenders. The system allowed the user to ask ‘why’
questions about predictions and then change the answers
to debug current and future predictions.
        </p>
        <p>
          Basilio Noris developed a visualization tool for machine
learning called MLDemos [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ] MLDemos assists in
understanding how different machine learning algorithms
function. It also demonstrates how the parameters of the
algorithms affect and modify the results in classification
problems.
        </p>
      </sec>
    </sec>
    <sec id="sec-10">
      <title>Conclusion</title>
      <p>This paper presented the results of a pilot study of CASEA,
a tool to assist in the creation of bug report assignment
recommenders. CASEA assists a user in labelling and filtering
the bug reports used for creating a project-specific
assignment recommender, as well as providing feedback on the
effectiveness of the configured assignment recommender.
The study found that users with little to no project-specific
knowledge were able to quickly create effective assignment
recommenders for the Eclipse Platform project.</p>
      <p>
        Based on feedback and the results of the user study, a
number of future improvements were idenitified for CASEA,
including having CASEA first attempt to tune a
recommender automatically and then have the user tweak the
configuration, extending CASEA to assist with the creation
of other triage recommenders, supporting other machine
learning algorithms, and providing other evaluation
metrics, such as F1. An improved version of CASEA, called
the Creation Assistant Supporting Triage Recommenders
(CASTR) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] was created to incorporate these changes in
preparation for a field study with project developers.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>John</given-names>
            <surname>Anvik</surname>
          </string-name>
          , Marshall Brooks,
          <string-name>
            <given-names>Henry</given-names>
            <surname>Burton</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Justin</given-names>
            <surname>Canada</surname>
          </string-name>
          .
          <year>2014</year>
          .
          <article-title>Assisting Software Projects with Bug Report Assignment Recommender Creation</article-title>
          .
          <source>In Proceedings of the 26th International Conference on Software Engineering and Knowledge Engineering</source>
          .
          <fpage>470</fpage>
          -
          <lpage>473</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>John</given-names>
            <surname>Anvik</surname>
          </string-name>
          , Marshall Brooks, Henry Burton, Justin Canada, and
          <string-name>
            <given-names>Ted</given-names>
            <surname>Henders</surname>
          </string-name>
          .
          <year>2016</year>
          . CASTR - Creation Assistant Supporting Triage Recommenders. (
          <year>2016</year>
          ).
          <source>(July</source>
          <volume>25</volume>
          ,
          <year>2016</year>
          ) https://bitbucket.org/bugtriage/castr.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>John</given-names>
            <surname>Anvik</surname>
          </string-name>
          , Lyndon Hiew, and
          <string-name>
            <surname>Gail</surname>
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Murphy</surname>
          </string-name>
          .
          <year>2006</year>
          .
          <article-title>Who Should Fix This Bug?</article-title>
          .
          <source>In Proceedings of the 28th International Conference on Software Engineering (ICSE '06)</source>
          . ACM, New York, NY, USA,
          <fpage>361</fpage>
          -
          <lpage>370</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>John</given-names>
            <surname>Anvik and Gail C. Murphy</surname>
          </string-name>
          .
          <year>2007</year>
          .
          <article-title>Determining Implementation Expertise from Bug Reports</article-title>
          .
          <source>In Fourth International Workshop on Mining Software Repositories (MSR'07:ICSE Workshops</source>
          <year>2007</year>
          ).
          <fpage>2</fpage>
          -
          <lpage>9</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>John</given-names>
            <surname>Anvik and Gail C. Murphy</surname>
          </string-name>
          .
          <year>2011</year>
          .
          <article-title>Reducing the Effort of Bug Report Triage: Recommenders for Development-oriented Decisions</article-title>
          .
          <source>ACM Trans. Softw. Eng. Methodol</source>
          .
          <volume>20</volume>
          ,
          <issue>3</issue>
          ,
          <string-name>
            <surname>Article 10</surname>
          </string-name>
          (
          <issue>Aug</issue>
          .
          <year>2011</year>
          ),
          <volume>35</volume>
          pages.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>S.</given-names>
            <surname>Banitaan</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Alenezi</surname>
          </string-name>
          .
          <year>2013</year>
          .
          <article-title>TRAM: An approach for assigning bug reports using their Metadata</article-title>
          .
          <source>In 2013 Third International Conference on Communications and Information Technology</source>
          .
          <fpage>215</fpage>
          -
          <lpage>219</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Pamela</given-names>
            <surname>Bhattacharya</surname>
          </string-name>
          , Iulian Neamtiu, and
          <string-name>
            <surname>Christian R Shelton</surname>
          </string-name>
          .
          <year>2012</year>
          . Automated, highly
          <article-title>-accurate, bug assignment using machine learning and tossing graphs</article-title>
          .
          <source>Journal of Systems and Software</source>
          <volume>85</volume>
          ,
          <issue>10</issue>
          (
          <year>2012</year>
          ),
          <fpage>2275</fpage>
          -
          <lpage>2292</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>BigML.</surname>
          </string-name>
          <year>2016</year>
          .
          <article-title>BigML is Machine Learning for everyone</article-title>
          . (
          <year>2016</year>
          ).
          <source>(Mar</source>
          <volume>10</volume>
          ,
          <year>2016</year>
          ) https://bigml.com.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Gerald</given-names>
            <surname>Bortis and André Van der Hoek</surname>
          </string-name>
          .
          <year>2011</year>
          .
          <article-title>Teambugs: A Collaborative Bug Tracking Tool</article-title>
          .
          <source>In Proceedings of the 4th International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE '11)</source>
          . ACM, New York, NY, USA,
          <fpage>69</fpage>
          -
          <lpage>71</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>G.</given-names>
            <surname>Bortis</surname>
          </string-name>
          and
          <string-name>
            <surname>A. van der Hoek.</surname>
          </string-name>
          <year>2013</year>
          .
          <article-title>PorchLight: A tag-based approach to bug triaging</article-title>
          .
          <source>In 2013 35th International Conference on Software Engineering (ICSE)</source>
          .
          <volume>342</volume>
          -
          <fpage>351</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>Gerardo</given-names>
            <surname>Canfora</surname>
          </string-name>
          and
          <string-name>
            <given-names>Luigi</given-names>
            <surname>Cerulo</surname>
          </string-name>
          .
          <year>2006</year>
          .
          <article-title>Supporting Change Request Assignment in Open Source Development</article-title>
          .
          <source>In Proceedings of the 2006 ACM Symposium on Applied Computing (SAC '06)</source>
          . ACM, New York, NY, USA,
          <fpage>1767</fpage>
          -
          <lpage>1772</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>Yguaratã</given-names>
            <surname>Cerqueira</surname>
          </string-name>
          <string-name>
            <given-names>Cavalcanti</given-names>
            , Paulo Anselmo Mota Silveira Neto, Ivan do Carmo Machado, Tassio Ferreira Vale, Eduardo Santana Almeida, and
            <surname>Silvio Romero de Lemos Meira</surname>
          </string-name>
          .
          <year>2014</year>
          .
          <article-title>Challenges and opportunities for software change request repositories: a systematic mapping study</article-title>
          .
          <source>Journal of Software: Evolution and Process</source>
          <volume>26</volume>
          ,
          <issue>7</issue>
          (
          <year>2014</year>
          ),
          <fpage>620</fpage>
          -
          <lpage>653</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>S.</given-names>
            <surname>Charrington</surname>
          </string-name>
          .
          <year>2012</year>
          .
          <article-title>Three New Tools Bring Machine Learning Insights to the Masses</article-title>
          .
          <article-title>(</article-title>
          <year>2012</year>
          ).
          <source>(Feb</source>
          <volume>27</volume>
          ,
          <year>2012</year>
          ) http://readwrite.com/
          <year>2012</year>
          /02/27/ three-new
          <article-title>-tools-bring-machine.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>Mozilla</given-names>
            <surname>Corporation</surname>
          </string-name>
          .
          <year>2014</year>
          . Bugzilla. (
          <year>2014</year>
          ).
          <source>(Nov</source>
          <volume>24</volume>
          ,
          <year>2014</year>
          ) http://www.bugzilla.org/.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Davor</surname>
            <given-names>Cˇ</given-names>
          </string-name>
          <source>ubranic´</source>
          .
          <year>2004</year>
          .
          <article-title>Automatic bug triage using text categorization</article-title>
          .
          <source>In Proceedings of the Sixteenth International Conference on Software Engineering and Knowledge Engineering</source>
          .
          <fpage>92</fpage>
          -
          <lpage>97</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>Skytree</given-names>
            <surname>Inc</surname>
          </string-name>
          .
          <year>2016</year>
          . Skytree Server. (
          <year>2016</year>
          ).
          <source>(Mar</source>
          <volume>10</volume>
          ,
          <year>2016</year>
          ) http://www.skytree.net.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>Thorsten</given-names>
            <surname>Joachims</surname>
          </string-name>
          .
          <year>1998</year>
          .
          <article-title>Text categorization with support vector machines: Learning with many relevant features</article-title>
          .
          <source>In Proceedings of the 10th European conference on machine learning</source>
          . Springer,
          <fpage>137</fpage>
          -
          <lpage>142</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>Stefan</given-names>
            <surname>Koch</surname>
          </string-name>
          and
          <string-name>
            <given-names>Georg</given-names>
            <surname>Schneider</surname>
          </string-name>
          .
          <year>2002</year>
          . Effort,
          <source>Coperation and Coordination in an Open Source Software Project: GNOME. Information Systems Journal</source>
          <volume>12</volume>
          ,
          <issue>1</issue>
          (
          <year>2002</year>
          ),
          <fpage>27</fpage>
          -
          <lpage>42</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19] Igor Kononenko and others.
          <year>2010</year>
          .
          <article-title>An efficient explanation of individual classifications using game theory</article-title>
          .
          <source>Journal of Machine Learning Research</source>
          <volume>11</volume>
          ,
          <string-name>
            <surname>Jan</surname>
          </string-name>
          (
          <year>2010</year>
          ),
          <fpage>1</fpage>
          -
          <lpage>18</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Todd</surname>
            <given-names>Kulesza</given-names>
          </string-name>
          , Simone Stumpf,
          <string-name>
            <surname>Weng-Keen</surname>
            <given-names>Wong</given-names>
          </string-name>
          , Margaret M Burnett,
          <string-name>
            <given-names>Stephen</given-names>
            <surname>Perona</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Andrew</given-names>
            <surname>Ko</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Ian</given-names>
            <surname>Oberst</surname>
          </string-name>
          .
          <year>2011</year>
          .
          <article-title>Why-oriented End-user Debugging of Naive Bayes Text Classification</article-title>
          .
          <source>ACM Transactions on Interactive Intelligent Systems (TiiS) 1</source>
          ,
          <issue>1</issue>
          (
          <year>2011</year>
          ),
          <fpage>2</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21] Tom M Mitchell.
          <year>1997</year>
          .
          <article-title>Machine learning</article-title>
          .
          <source>McGraw-Hill.</source>
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>Audris</surname>
            <given-names>Mockus</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Roy T Fielding</surname>
            , and
            <given-names>James D</given-names>
          </string-name>
          <string-name>
            <surname>Herbsleb</surname>
          </string-name>
          .
          <year>2002</year>
          .
          <article-title>Two case studies of open source software development: Apache and Mozilla</article-title>
          .
          <source>ACM Transactions on Software Engineering and Methodology</source>
          <volume>11</volume>
          ,
          <issue>3</issue>
          (
          <year>2002</year>
          ),
          <fpage>309</fpage>
          -
          <lpage>346</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <surname>Hoda</surname>
            <given-names>Naguib</given-names>
          </string-name>
          , Nitesh Narayan, Bernd Brügge, and
          <string-name>
            <given-names>Dina</given-names>
            <surname>Helal</surname>
          </string-name>
          .
          <year>2013</year>
          .
          <article-title>Bug report assignee recommendation using activity profiles</article-title>
          .
          <source>In Proceedings of the 10th IEEE Working Conference on Mining Software Repositories (MSR '13)</source>
          . IEEE,
          <fpage>22</fpage>
          -
          <lpage>30</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>B.</given-names>
            <surname>Noris</surname>
          </string-name>
          .
          <year>2016</year>
          .
          <string-name>
            <given-names>ML</given-names>
            <surname>Demos</surname>
          </string-name>
          .
          <article-title>(</article-title>
          <year>2016</year>
          ).
          <source>(Mar</source>
          <volume>10</volume>
          ,
          <year>2016</year>
          ) http://mldemos.epfl.ch/.
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <surname>Jason</surname>
            <given-names>D</given-names>
          </string-name>
          <string-name>
            <surname>Rennie</surname>
          </string-name>
          , Lawrence Shih, Jaime Teevan, David R Karger, and others.
          <source>2003</source>
          .
          <article-title>Tackling the poor assumptions of naive bayes text classifiers</article-title>
          .
          <source>In ICML</source>
          , Vol.
          <volume>3</volume>
          .
          <fpage>616</fpage>
          -
          <lpage>623</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <surname>Gregorio</surname>
            <given-names>Robles</given-names>
          </string-name>
          , Stefan Koch,
          <string-name>
            <surname>Jesús M GonZÁlEZBARAHonA</surname>
            , and
            <given-names>Juan</given-names>
          </string-name>
          <string-name>
            <surname>Carlos</surname>
          </string-name>
          .
          <year>2004</year>
          .
          <article-title>Remote analysis and measurement of libre software systems by means of the CVSAnalY tool</article-title>
          .
          <source>In Proceedings of the 2nd ICSE Workshop on Remote Analysis and Measurement of Software Systems (RAMSS)</source>
          .
          <volume>51</volume>
          -
          <fpage>55</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <surname>Simone</surname>
            <given-names>Stumpf</given-names>
          </string-name>
          , Vidya Rajaram,
          <string-name>
            <given-names>Lida</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <surname>Weng-Keen</surname>
            <given-names>Wong</given-names>
          </string-name>
          , Margaret Burnett, Thomas Dietterich,
          <string-name>
            <given-names>Erin</given-names>
            <surname>Sullivan</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Jonathan</given-names>
            <surname>Herlocker</surname>
          </string-name>
          .
          <year>2009</year>
          .
          <article-title>Interacting meaningfully with machine learning systems: Three experiments</article-title>
          .
          <source>International Journal of Human-Computer Studies 67</source>
          ,
          <issue>8</issue>
          (
          <year>2009</year>
          ),
          <fpage>639</fpage>
          -
          <lpage>662</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <surname>Duane</surname>
            <given-names>Szafron</given-names>
          </string-name>
          , Brett Poulin, Roman Eisner, Paul Lu, Russ Greiner, David Wishart,
          <string-name>
            <given-names>Alona</given-names>
            <surname>Fyshe</surname>
          </string-name>
          , Brandon Pearcy, Cam Macdonell,
          <string-name>
            <given-names>and John</given-names>
            <surname>Anvik</surname>
          </string-name>
          .
          <year>2006</year>
          .
          <article-title>Visual explanation of evidence in additive classifiers</article-title>
          .
          <source>In Proceedings of the 18th Conference on Innovative Applications of Artificial Intelligence</source>
          , Vol.
          <volume>2</volume>
          .
          <fpage>1822</fpage>
          <string-name>
            <surname>-</surname>
          </string-name>
          <fpage>1829</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <surname>Xin</surname>
            <given-names>Xia</given-names>
          </string-name>
          , David Lo,
          <string-name>
            <given-names>Xinyu</given-names>
            <surname>Wang</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Bo</given-names>
            <surname>Zhou</surname>
          </string-name>
          .
          <year>2013</year>
          .
          <article-title>Accurate developer recommendation for bug resolution</article-title>
          .
          <source>In In Proceedings of the 20th Working Conference on Reverse Engineering. IEEE</source>
          ,
          <fpage>72</fpage>
          -
          <lpage>81</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <surname>Min-Ling Zhang</surname>
          </string-name>
          and
          <string-name>
            <surname>Zhi-Hua Zhou</surname>
          </string-name>
          .
          <year>2007</year>
          .
          <article-title>ML-KNN: A lazy learning approach to multi-label learning</article-title>
          .
          <source>Pattern recognition 40</source>
          ,
          <issue>7</issue>
          (
          <year>2007</year>
          ),
          <fpage>2038</fpage>
          -
          <lpage>2048</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>Tao</given-names>
            <surname>Zhang</surname>
          </string-name>
          and
          <string-name>
            <given-names>Byungjeong</given-names>
            <surname>Lee</surname>
          </string-name>
          .
          <year>2013</year>
          .
          <article-title>A hybrid bug triage algorithm for developer recommendation</article-title>
          .
          <source>In Proceedings of the 28th annual ACM symposium on applied computing. ACM</source>
          ,
          <volume>1088</volume>
          -
          <fpage>1094</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>