vious activities and suspicious program locations to
identify bug fixers (Tian et al., 2016). However, this
technique requires attached source patches with bug
reports and also ignores the recent timing of source
commits. An expertise and recency based bug assign-
ment has been presented in (Khatun and Sakib, 2016).
However, it ignored the bug report fixing recency of
the developers. As a result, the developers are over-
prioritized with the experience of bug fixing.
A bug assignment technique, combining the ex-
pertise and recency of both bug fixing and source
commit activities called BSBA (Bug fixing and
Source commit activity based Bug Assignment) has
been proposed. The overall bug assignment is per-
formed using three steps - Source Activity Collection,
Fixing History Collection and Developer Suggestion.
The Source Activity Collection module takes source
code and commit logs as input. It builds an index
connecting source code identifiers with commits, to
represent identifier usage owner and time. Besides,
the Fixing History Collection module uses fixed bug
reports to construct another index connecting bug re-
port features (i.e. keywords) with the report fixer and
fixing time. Finally, when new bug reports arrive, the
Developer Suggestion module extracts the bug report
keywords, and queries the indexes with these key-
words. Based on the query results, a BSBA score
is assigned to each developer using tf-idf weighting
technique considering the experienced and recent use
of keywords. The high scored developers are recom-
mended as appropriate fixers.
BSBA, has been applied on Eclipse JDT and SWT
for assessing it’s compatibility. For these projects,
the source code, commit logs and bug reports are
collected from open source. BSBA’s performance
is measured using metric- Top N Rank [Shokripour
et al., 2015]. In order to measure competency, it is
compared with one source activity based technique
known as ABA-time-tf-idf (Shokripour et al., 2015),
one bug fixing activity based technique called TNBA
(Shokripour et al., 2014) and one unified previous
activity and program location based technique (Tian
et al., 2016), which will be referred in remaining of
this paper as Unified Model. The result shows that
BSBA suggests 45.67% and 47.50% actual fixers at
Top 1 position for Eclipse JDT and SWT respectively,
which outperforms studied projects.
2 RELATED WORK
Concerned with the increased importance of auto-
matic bug assignment, a number of techniques have
been proposed by researchers. Significant works re-
lated to this research topic are outlined in following.
A survey has divided the existing bug assignment
techniques into text categorization, tossing graph,
source based techniques etc. (Sawant and Alone,
2015). Text categorization based techniques build a
model that trains from past bug reports to predict cor-
rect rank of developers (Hu et al., 2014; Matter et al.,
2009; Baysal et al., 2009). Baysal et al. have en-
hanced the text categorization techniques by adding
user preference of fixing certain bugs in recommenda-
tion process (Baysal et al., 2009). The framework per-
forms its task using three components. The Expertise
Recommendation component creates a ranked list of
developers using previous expertise profile. The Pref-
erence Elicitation component collects and stores the
preference level of fixing certain bug types through a
feedback process. Lastly, knowing the preference and
expertise of each developer, Task Allocation compo-
nent assigns bug reports. Since the framework consid-
ers only past historical activities, it ignores the source
related activities of developers, and may recommend
developers who are either working in another project
or company. As a result, inactive developers may get
recommended which reduces prediction accuracy.
Tossing graph based bug triaging techniques for
reducing reassignment have also been developed (e.g.
(Bhattacharya and Neamtiu, 2010), (Jeong et al.,
2009)). The main focus of these techniques is to re-
duce the number of passes or tosses a bug report goes
through because of incorrect assignment. In such
techniques, the graph is constructed using previous
bug reports (Jeong et al., 2009). Due to considering
previous bug report information, the technique results
in low accuracy of recommended list and search fail-
ure in case of new developer arrival.
Matter et al. have suggested Develect, a source
based expertise model for recommending developers
(Matter et al., 2009). The model parses the source
code and version history for indexing bag of words
representing vocabulary of each source code contrib-
utor. A model is trained using existing vocabularies
and stored in a matrix as a term-author matrix. For
new reports, the model checks the report keywords
using lexical similarities against developer vocabular-
ies. The highest scored developers are taken as fixers.
For overcoming inactive developer recommendation,
the technique uses a threshold value. However, the
technique totally ignores experienced developers in
recommendation process, which leads to assignment
of bugs to novice or inexperienced developers. Subse-
quently, it increases bug reassignments, prolongs fix-
ing time and reduces recommendation accuracy.
Time based bug assignment techniques have also
been proposed in the literature. Shokripour et al. has
ENASE 2018 - 13th International Conference on Evaluation of Novel Approaches to Software Engineering
352