Abstract
In automatic software bug localization, source code classes and methods are commonly used as the unit of suggestions. However, existing techniques consider whole source code to find the buggy locations, which degrades the accuracy of bug localization. In this paper, a Method level Bug localization using Minimized code space (MBuM) has been proposed which improves the accuracy by only considering bug specific source code. Later, this source code is used for identifying the similarity to the bug report. These similarity scores are measured using a modified Vector Space Model (mVSM), and based on that scores MBuM ranks a list of source code methods. The validity of MBuM has been checked by providing theoretical proof using formal methods. Case studies have been performed on two large scale open source projects namely Eclipse and Mozilla, and the results show that MBuM outperforms existing bug localization techniques.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Abstract Syntax Tree, for details - https://eclipse.org/jdt/core/r2.0/dom%20ast/ast.html.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
References
Dit, B., Revelle, M., Gethers, M., Poshyvanyk, D.: Feature location in source code: a taxonomy and survey. J. Softw. Evol. Process 25(1), 53–95 (2013)
Hovemeyer, D., Pugh, W.: Finding bugs is easy. ACM Sigplan Not. 39(12), 92–106 (2004)
Saha, R.K., Lawall, J., Khurshid, S., Perry, D.E.: On the effectiveness of information retrieval based bug localization for c programs. In: IEEE International Conference on Software Maintenance and Evolution (ICSME 2014), pp. 161–170. IEEE (2014)
Saha, R.K., Lease, M., Khurshid, S., Perry, D.E.: Improving bug localization using structured information retrieval. In: Proceedings of the 28th International Conference on Automated Software Engineering (ASE 2013) IEEE/ACM, pp. 345–355. IEEE (2013)
Zhou, J., Zhang, H., Lo, D.: Where should the bugs be fixed? more accurate information retrieval-based bug localization based on bug reports. In: Proceedings of the 34th International Conference on Software Engineering (ICSE 2012), pp. 14–24. IEEE (2012)
Nichols, B.D.: Augmented bug localization using past bug information. In: Proceedings of the 48th Annual Southeast Regional Conference, p. 61. ACM (2010)
Wang, S., Lo, D.: Version history, similar report, and structure: putting them together for improved bug localization. In: Proceedings of the 22nd International Conference on Program Comprehension, pp. 53–63. ACM (2014)
Wilde, N., Gomez, J.A., Gust, T., Strasburg, D.: Locating user functionality in old code. In: Proceerdings of the Conference on Software Maintenance, pp. 200–205. IEEE (1992)
Poshyvanyk, D., Gueheneuc, Y.-G., Marcus, A., Antoniol, G., Rajlich, V.C.: Feature location using probabilistic ranking of methods based on execution scenarios and information retrieval. IEEE Trans. Softw. Eng. 33(6), 420–432 (2007)
Rahman, S., Sakib, K.: An appropriate method ranking approach for localizing bugs using minimized search space. In: Proceedings of the 11th International Conference on Evaluation of Novel Software Approaches to Software Engineering, pp. 303–309 (2016)
Lukins, S.K., Kraft, N., Etzkorn, L.H., et al.: Source code retrieval for bug localization using latent dirichlet allocation. In: Proceedings of the 15th Working Conference on Reverse Engineering (WCRE 2008), pp. 155–164. IEEE (2008)
Deerwester, S.C., Dumais, S.T., Landauer, T.K., Furnas, G.W., Harshman, R.A.: Indexing by latent semantic analysis. JAsIs 41(6), 391–407 (1990)
Alhindawi, N., Dragan, N., Collard, M.L., Maletic, J.I.: Improving feature location by enhancing source code with stereotypes. In: 2013 IEEE International Conference on Software Maintenance, pp. 300–309. IEEE (2013)
Rahman, S., Ganguly, K., Kazi, S.: An improved bug localization using structured information retrieval and version history. In: Proceedings of the 18th International Conference on Computer and Information Technology (ICCIT) (2015) (accepted)
Eisenbarth, T., Koschke, R., Simon, D.: Locating features in source code. IEEE Trans. Softw. Eng. 29(3), 210–224 (2003)
Woodcock, J., Davies, J.: Using z. specification, refinement, and proof (1996)
Manning, C.D., Raghavan, P., Schütze, H., et al.: Introduction to information retrieval, vol. 1. Cambridge University Press, Cambridge (2008)
Kim, D., Tao, Y., Kim, S., Zeller, A.: Where should we fix this bug? a two-phase recommendation model. IEEE Trans. Softw. Eng. 39(11), 1597–1610 (2013)
Frakes, W.B.: Stemming algorithms, pp. 131–160 (1992)
Rahman, S.: shanto-rahman/mbum: (2016). https://github.com/shanto-Rahman/MBuM. 4/1/2016
Pareek, H.H., Ravikumar, P.K.: A representation theory for ranking functions. In: Advances in Neural Information Processing Systems, pp. 361–369 (2014)
Acknowledgment
This research is supported by the fellowship from ICT Division, Ministry of Posts, Telecommunications and Information Technology, Bangladesh. No - 56.00.0000.028.33.028.15-214 Date 24-06-2015.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing AG
About this paper
Cite this paper
Rahman, S., Rahman, M.M., Sakib, K. (2016). An Improved Method Level Bug Localization Approach Using Minimized Code Space. In: Maciaszek, L., Filipe, J. (eds) Evaluation of Novel Approaches to Software Engineering. ENASE 2016. Communications in Computer and Information Science, vol 703. Springer, Cham. https://doi.org/10.1007/978-3-319-56390-9_9
Download citation
DOI: https://doi.org/10.1007/978-3-319-56390-9_9
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-56389-3
Online ISBN: 978-3-319-56390-9
eBook Packages: Computer ScienceComputer Science (R0)