ring NPDG instead of MSDG for Eclipse, SWT and
PasswordProtector respectively. Meanwhile, 7.3%,
10.1% and 7.3% (Figure 10) accuracy improvements
have been found (on MAP) by NPDG over MSDG in
the aforementioned three projects respectively.
5 CONCLUSION
In this paper, a novel statement level bug localization
technique named as SBL is proposed where irrele-
vant search space is discarded using the source code
dynamic analysis. The relevant search space is furt-
her minimized by ranking the buggy methods. Later,
for each suggested method, a Method Statement De-
pendency Graph (MSDG) is generated which holds
the relationship among the statements. For invoking
predecessor node information, a Node Predecessor-
node Dependency Graph (NPDG) is generated for
each method where bag of words of each node and its
predecessor nodes are combined. The similarity bet-
ween each node (i.e., statement) of NPDG and the bug
report is measured to rank the buggy statements. Ef-
fectiveness of SBL has been evaluated on three open
source projects. The experimental results show that
SBL can successfully rank buggy statements. It is
also evident from the results, the consideration of pre-
decessor nodes improve the accuracy.
Since SBL performs well in different types of pro-
jects, in future it can be applied in industrial projects
to assess its effectiveness in practice.
ACKNOWLEDGEMENT
This research is supported by the fellows-
hip from ICT Division, Bangladesh. No-
56.00.0000.028.33.028.15-214 Date 24-06-2015.
REFERENCES
Alhindawi, N., Dragan, N., Collard, M. L., and Maletic,
J. I. (2013). Improving feature location by enhancing
source code with stereotypes. In 2013 IEEE Inter-
national Conference on Software Maintenance, pages
300–309. IEEE.
Croft, W. B., Metzler, D., and Strohman, T. (2010). Search
engines: Information retrieval in practice. Addison-
Wesley Reading.
Eisenbarth, T., Koschke, R., and Simon, D. (2003). Loca-
ting features in source code. IEEE Transactions on
Software Engineering, 29(3):210–224.
Lukins, S. K., Kraft, N., Etzkorn, L. H., et al. (2008).
Source code retrieval for bug localization using la-
tent dirichlet allocation. In 15th Working Conference
on Reverse Engineering, WCRE’08, pages 155–164.
IEEE.
Moreno, L., Bandara, W., Haiduc, S., and Marcus, A.
(2013). On the relationship between the vocabulary
of bug reports and source code. In International Con-
ference on Software Maintenance (ICSM), pages 452–
455. IEEE.
Nichols, B. D. (2010). Augmented bug localization using
past bug information. In 48th Annual Southeast Regi-
onal 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 Transacti-
ons on Software Engineering, 33(6):420–432.
Rahman, S. (2016). shanto-rahman/source code: 2016.
https://github.com/shanto-Rahman/SBL.
Rahman, S., Ganguly, K., and Kazi, S. (2015). An im-
proved bug localization using structured information
retrieval and version history. In 18th International
Conference on Computer and Information Technology
(ICCIT), pages 190–195. IEEE.
Rahman, S., Rahman, M. M., and Sakib, K. (2016). An im-
proved method level bug localization approach using
minimized code space. Communications in Computer
and Information Science (Accepted).
Rahman, S. and Sakib, K. (2016). An appropriate method
ranking approach for localizing bugs using minimized
search space. In Proceedings of the 11th International
Conference on Evaluation of Novel Software Approa-
ches to Software Engineering, pages 303–309.
Saha, R. K., Lease, M., Khurshid, S., and Perry, D. E.
(2013). Improving bug localization using structured
information retrieval. In 28th International Confe-
rence on Automated Software Engineering (ASE), pa-
ges 345–355. IEEE.
Sisman, B. and Kak, A. C. (2012). Incorporating version
histories in information retrieval based bug localiza-
tion. In 9th IEEE Working Conference on Mining Soft-
ware Repositories, pages 50–59. IEEE Press.
Tantithamthavorn, C., Ihara, A., and Matsumoto, K.-i.
(2013). Using co-change histories to improve bug
localization performance. In Software Engineer-
ing, Artificial Intelligence, Networking and Paral-
lel/Distributed Computing (SNPD), 2013 14th ACIS
International Conference on, pages 543–548. 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.
Wilde, N., Gomez, J. A., Gust, T., and Strasburg, D. (1992).
Locating user functionality in old code. In Software
Maintenance, 1992. Proceerdings., Conference on,
pages 200–205. IEEE.
Zhou, J., Zhang, H., and Lo, D. (2012). Where should the
bugs be fixed? more accurate information retrieval-
based bug localization based on bug reports. In
34th International Conference on Software Engineer-
ing (ICSE), pages 14–24. IEEE.
ENASE 2017 - 12th International Conference on Evaluation of Novel Approaches to Software Engineering
178