Skip to main content

A Two-Phase Bug Localization Approach Based on Multi-layer Perceptrons and Distributional Features

  • Conference paper
  • First Online:
  • 1396 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 11619))

Abstract

Bug localization is a challenging and time-consuming task of the process of bug fixing and, more in general, of software maintenance. Several approaches have been proposed in the literature which support developers in this task by identifying source code files in which the bug is likely to be located. However, the research on this topic never stopped, looking for new methods providing better accuracy and/or better efficiency. In this paper, we propose a two-phase bug localization approach which leverages multi-layer neural networks and distributional features. First phase locations are obtained thanks to a neural network trained on word embeddings representations of fixed bug reports. The second phase refines bug locations taking into account the number of times source code files co-occur in fixed bug locations. To evaluate the approach, we conducted a large-scale experiment on five open source projects, namely Mozilla, Eclipse, Dolphin, httpd, and gcc. Results show that, thanks to pre-trained word embeddings, we were able to implement a scalable approach with a training running time of few hours on large datasets. Performances are comparable to other existing deep learning approaches.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.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

Learn about institutional subscriptions

Notes

  1. 1.

    https://www.bugzilla.org.

  2. 2.

    https://www.bugzilla.org/docs/4.2/en/html/lifecycle.html.

  3. 3.

    https://nlp.stanford.edu/projects/glove/.

  4. 4.

    https://catalog.ldc.upenn.edu/LDC2011T07.

  5. 5.

    For the implementation of the MLP network we used scikit-learn 0.19.2.

  6. 6.

    also known as the comment at bug reporting time.

References

  1. Davies, S., Roper, M., Wood, M.: Using bug report similarity to enhance bug localisation. In: 2012 19th Working Conference on Reverse Engineering, pp. 125–134, October 2012. https://doi.org/10.1109/WCRE.2012.22

  2. Dilshener, T., Wermelinger, M., Yu, Y.: Locating bugs without looking back. In: Proceedings of the 13th International Conference on Mining Software Repositories, MSR 2016, pp. 286–290. ACM, New York (2016)

    Google Scholar 

  3. Kim, D., Tao, Y., Kim, S., Zeller, A.: Where should we fix this bug? a two-phase recommendation model. IEEE Trans. Software Eng. 39(11), 1597–1610 (2013). https://doi.org/10.1109/TSE.2013.24

    Article  Google Scholar 

  4. Lam, A.N., Nguyen, A.T., Nguyen, H.A., Nguyen, T.N.: Bug localization with combination of deep learning and information retrieval. In: 2017 IEEE/ACM 25th International Conference on Program Comprehension (ICPC), pp. 218–229, May 2017. https://doi.org/10.1109/ICPC.2017.24

  5. Li, J., He, P., Zhu, J., Lyu, M.R.: Software defect prediction via convolutional neural network. In: 2017 IEEE International Conference on Software Quality, Reliability and Security (QRS), pp. 318–328, July 2017. https://doi.org/10.1109/QRS.2017.42

  6. Lukins, S.K., Kraft, N.A., Etzkorn, L.H.: Bug localization using latent dirichlet allocation. Inf. Softw. Technol. 52(9), 972–990 (2010). https://doi.org/10.1016/j.infsof.2010.04.002, http://www.sciencedirect.com/science/article/pii/S0950584910000650

    Article  Google Scholar 

  7. Murphy-Hill, E., Zimmermann, T., Bird, C., Nagappan, N.: The design of bug fixes. In: 2013 35th International Conference on Software Engineering (ICSE), pp. 332–341, May 2013. https://doi.org/10.1109/ICSE.2013.6606579

  8. Nguyen, A.T., Nguyen, T.T., Al-Kofahi, J., Nguyen, H.V., Nguyen, T.N.: A topic-based approach for narrowing the search space of buggy files from a bug report. In: 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011), pp. 263–272, November 2011. https://doi.org/10.1109/ASE.2011.6100062

  9. Pennington, J., Socher, R., Manning, C.D.: Glove: global vectors for word representation. In: EMNLP, vol. 14, pp. 1532–1543 (2014)

    Google Scholar 

  10. Rao, S., Kak, A.: Retrieval from software libraries for bug localization: a comparative study of generic and composite text models. In: Proceedings of the 8th Working Conference on Mining Software Repositories, MSR 2011, pp. 43–52. ACM, New York (2011). https://doi.org/10.1145/1985441.1985451, https://doi.org/10.1145/1985441.1985451

  11. Wang, S., Lo, D., Lawall, J.: Compositional vector space models for improved bug localization. In: 2014 IEEE International Conference on Software Maintenance and Evolution, pp. 171–180, September 2014. https://doi.org/10.1109/ICSME.2014.39

  12. 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, ICPC 2014, pp. 53–63. ACM, New York (2014). https://doi.org/10.1145/2597008.2597148

  13. Wei, X., Croft, W.B.: Lda-based document models for ad-hoc retrieval. In: Proceedings of the 29th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, SIGIR 2006, pp. 178–185. ACM, New York (2006). https://doi.org/10.1145/1148170.1148204

  14. Ye, X., Bunescu, R., Liu, C.: Learning to rank relevant files for bug reports using domain knowledge. In: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, FSE 2014, pp. 689–699. ACM, New York (2014). https://doi.org/10.1145/2635868.2635874

  15. Zhang, T., Jiang, H., Luo, X., Chan, A.T.: A literature review of research in bug resolution: tasks, challenges and future directions. Comput. J. 59(5), 741–773 (2016). https://doi.org/10.1093/comjnl/bxv114

    Article  MathSciNet  Google Scholar 

  16. Zhou, J., Zhang, H., Lo, D.: Where should the bugs be fixed? more accurate information retrieval-based bug localization based on bug reports. In: 2012 34th International Conference on Software Engineering (ICSE), pp. 14–24, June 2012. https://doi.org/10.1109/ICSE.2012.6227210

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Stefano Faralli .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Distante, D., Faralli, S. (2019). A Two-Phase Bug Localization Approach Based on Multi-layer Perceptrons and Distributional Features. In: Misra, S., et al. Computational Science and Its Applications – ICCSA 2019. ICCSA 2019. Lecture Notes in Computer Science(), vol 11619. Springer, Cham. https://doi.org/10.1007/978-3-030-24289-3_38

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-24289-3_38

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-24288-6

  • Online ISBN: 978-3-030-24289-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics