Skip to main content

An Improved Method Level Bug Localization Approach Using Minimized Code Space

  • Conference paper
  • First Online:
Evaluation of Novel Approaches to Software Engineering (ENASE 2016)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Abstract Syntax Tree, for details - https://eclipse.org/jdt/core/r2.0/dom%20ast/ast.html.

  2. 2.

    https://bugs.eclipse.org/bugs/show_bug.cgi?id=74149.

  3. 3.

    https://bugs.eclipse.org/bugs/show_bug.cgi?id=74149.

  4. 4.

    https://bugs.eclipse.org/bugs/show_bug.cgi?id=5138.

  5. 5.

    https://bugs.eclipse.org/bugs/show_bug.cgi?id=31779.

  6. 6.

    https://bugs.eclipse.org/bugs/show_bug.cgi?id=83307.

  7. 7.

    https://bugs.eclipse.org/bugs/show_bug.cgi?id=91047.

  8. 8.

    https://bugzilla.mozilla.org/long_list.cgi?buglist=182192.

  9. 9.

    https://bugzilla.mozilla.org/show_bug.cgi?id=216154.

  10. 10.

    https://bugzilla.mozilla.org/show_bug.cgi?id=225243.

  11. 11.

    https://bugzilla.mozilla.org/show_bug.cgi?id=209430.

  12. 12.

    https://bugzilla.mozilla.org/show_bug.cgi?id=231474.

References

  1. 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)

    Article  Google Scholar 

  2. Hovemeyer, D., Pugh, W.: Finding bugs is easy. ACM Sigplan Not. 39(12), 92–106 (2004)

    Article  Google Scholar 

  3. 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)

    Google Scholar 

  4. 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)

    Google Scholar 

  5. 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)

    Google Scholar 

  6. Nichols, B.D.: Augmented bug localization using past bug information. In: Proceedings of the 48th Annual Southeast Regional Conference, p. 61. ACM (2010)

    Google Scholar 

  7. 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)

    Google Scholar 

  8. 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)

    Google Scholar 

  9. 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)

    Article  Google Scholar 

  10. 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)

    Google Scholar 

  11. 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)

    Google Scholar 

  12. 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)

    Article  Google Scholar 

  13. 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)

    Google Scholar 

  14. 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)

    Google Scholar 

  15. Eisenbarth, T., Koschke, R., Simon, D.: Locating features in source code. IEEE Trans. Softw. Eng. 29(3), 210–224 (2003)

    Article  Google Scholar 

  16. Woodcock, J., Davies, J.: Using z. specification, refinement, and proof (1996)

    Google Scholar 

  17. Manning, C.D., Raghavan, P., Schütze, H., et al.: Introduction to information retrieval, vol. 1. Cambridge University Press, Cambridge (2008)

    Google Scholar 

  18. 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)

    Article  Google Scholar 

  19. Frakes, W.B.: Stemming algorithms, pp. 131–160 (1992)

    Google Scholar 

  20. Rahman, S.: shanto-rahman/mbum: (2016). https://github.com/shanto-Rahman/MBuM. 4/1/2016

  21. Pareek, H.H., Ravikumar, P.K.: A representation theory for ranking functions. In: Advances in Neural Information Processing Systems, pp. 361–369 (2014)

    Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Shanto Rahman .

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics