Table 2 and Figure 2 (b) show that three (60%)
out of five bugs are located at the 1
st
position and an-
other two are ranked at the 2
nd
position by MBuM.
Among other techniques, only PROMISER suggests
two (40%) of the five bugs at the 1
st
position and other
three techniques rank no bug at the 1
st
position (see
Table 2). Although for bugs #209430 and #231474,
PROMISER provides the same ranking as MBuM,
it produces noticeably poor ranking in other three
bugs as shown in Figure 2 (b). In case of #182192,
#216154 and #225243, MBuM ranks the actual buggy
methods more accurately than other four techniques.
This comparative analysis of results also shows the
significant improvement of ranking by MBuM.
5 THREAT TO VALIDITY
Although MBuM performs better than the existing
bug localization techniques, still the improvement of
accuracy may be affected by the following reasons.
If the bug report does not contain proper repro-
ducible scenario, it is sometimes difficult to find the
accurate execution trace of the source code. However,
without reproducing a bug, even a developer cannot
manually fix the bug. Besides, if a developer does not
follow proper naming conventions, the performance
of MBuM may be affected. In practice, develop-
ers follow good naming conventions in most of the
projects. Moreover, bug report containing inadequate
information may affect the performance of MBuM,
though it may mislead in manual bug localization.
6 CONCLUSION
This position paper proposes a software bug local-
ization technique named as MBuM where relevant
search space is produced by discarding irrelevant
source code. For this purpose, source code execu-
tion trace is considered. Since bug localization from
bug report is an information retrieval based technique,
static analysis is applied on the relevant source code
and bug reports to create code and bug corpora. Fi-
nally, mVSM is applied on those corpora to rank
the source code methods. For the purpose of ex-
perimentation, case studies are conducted using two
large scale open source projects such as Eclipse and
Mozilla. These experiments show that MBuM ranks
buggy methods at the 1
st
position in most of the cases.
In this research, although fine grained ranking
(e.g., method) is performed, statement level bug lo-
calization can be addressed in future. In addition,
MBuM may be applied in industrial projects to assess
its effectiveness in practice.
ACKNOWLEDGMENT
This research is supported by the fellow-
ship from ICT Division, Bangladesh. No -
56.00.0000.028.33.028.15-214 Date 24-06-2015.
REFERENCES
Deerwester, S. C., Dumais, S. T., Landauer, T. K., Furnas,
G. W., and Harshman, R. A. (1990). Indexing by latent
semantic analysis. JAsIs, 41(6):391–407.
Eisenbarth, T., Koschke, R., and Simon, D. (2003). Lo-
cating features in source code. IEEE Transactions on
Software Engineering, 29(3):210–224.
Frakes, W.B.(1992). Stemming algorithms. pages 131–160.
Kim, D., Tao, Y., Kim, S., and Zeller, A. (2013). Where
should we fix this bug? a two-phase recommendation
model. IEEE Transactions on Software Engineering,
39(11):1597–1610.
Lukins, S. K., Kraft, N., Etzkorn, L. H., et al. (2008).
Source code retrieval for bug localization using latent
dirichlet allocation. In 15th Working Conference on
Reverse Engineering, (WCRE), pages 155–164. IEEE.
Nguyen, A. T., Nguyen, T. T., Al-Kofahi, J., Nguyen, H. V.,
and Nguyen, T. N. (2011). A topic-based approach for
narrowing the search space of buggy files from a bug
report. In Automated Software Engineering (ASE),
26th IEEE/ACM International Conference on, pages
263–272. IEEE.
Nichols, B. D. (2010). Augmented bug localization using
past bug information. In 48th Annual Southeast Re-
gional Conference, page 61. ACM.
Poshyvanyk, D., Gueheneuc, Y.-G., Marcus, A., Antoniol,
G., and Rajlich, V. C. (2007). Feature location using
probabilistic ranking of methods based on execution
scenarios and information retrieval. IEEE Transac-
tions on Software Engineering, 33(6):420–432.
Rahman, S. (4/1/2016). shanto-rahman/mbum: 2016.
https://github.com/shanto-Rahman/MBuM.
Rahman, S., Ganguly, K., and Kazi, S. (2015). An improved
bug localization using structured information retrieval
and version history. In 18th International Conference
on Computer and Information Technology (ICCIT).
Saha, R. K., Lease, M., Khurshid, S., and Perry, D. E.
(2013). Improving bug localization using structured
information retrieval. In 28th International Con-
ference on Automated Software Engineering (ASE,
2013), pages 345–355. IEEE.
Wang, S. and Lo, D. (2014). Version history, similar report,
and structure: Putting them together for improved bug
localization. In 22nd International Conference on
Program Comprehension, pages 53–63. ACM.
ENASE 2016 - 11th International Conference on Evaluation of Novel Software Approaches to Software Engineering
308