Skip to main content

Automatically Extracting Bug Reproducing Steps from Android Bug Reports

  • Conference paper
  • First Online:
Book cover Reuse in the Big Data Era (ICSR 2019)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 11602))

Included in the following conference series:

Abstract

Many modern software projects use bug-tracking systems (e.g., Bugzilla, Google Code Issue Tracker) to track software issues and help developers reproduce these issues. There has been recent work on automatically translating the natural language text (i.e., steps to reproduce) of bug reports to reproducing scripts, targeted at Android apps, to facilitate app debugging process. The scripts describe the event sequences leading to the app issues and thus can be reused for testing newer versions of the apps. However, existing techniques require manually providing the text description of steps to reproduce for generating reproducing scripts, which is a non-trivial task because natural language text in bug reports can be complex and contain much information irrelevant for bug reproduction. In this paper, we propose an approach that can automatically extract the text description of steps to reproduce (S2R) from bug reports to advance automated software issue diagnosis and test script reuse. The approach is implemented as a tool, called S2RMiner, which combines HTML parsing, natural language processing, and machine learning techniques. We have evaluated S2RMiner on 1000 original Android bug reports. The results show that S2RMiner can extract S2R with high accuracy.

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

References

  1. Bitbucket. https://bitbucket.org

  2. Github. https://github.com

  3. Google code archive. https://code.google.com/archive/

  4. Google play data. https://en.wikipedia.org/wiki/Google_Play

  5. S2rminer publick link. https://github.com/AndroidTestBugReport/S2RMiner

  6. Scikit-learn. https://scikit-learn.org/stable/

  7. spaCy. https://spacy.io/

  8. Aranda, J., Venolia, G.: The secret life of bugs: going past the errors and omissions in software repositories, pp. 298–308 (2009)

    Google Scholar 

  9. Bacchelli, A., Cleve, A., Lanza, M., Mocci, A.: Extracting structured data from natural language documents with island parsing. In: 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011), pp. 476–479. IEEE (2011)

    Google Scholar 

  10. Bettenburg, N., Premraj, R., Zimmermann, T., Kim, S.: Extracting structural information from bug reports. In: Proceedings of the 2008 International Working Conference on Mining Software Repositories, pp. 27–30. ACM (2008)

    Google Scholar 

  11. Bird, C., et al.: Fair and balanced?: bias in bug-fix datasets, pp. 121–130 (2009)

    Google Scholar 

  12. Burstein, J., Marcu, D., Andreyev, S., Chodorow, M.: Towards automatic classification of discourse elements in essays. In: Proceedings of the 39th Annual Meeting on Association for Computational Linguistics, pp. 98–105. Association for Computational Linguistics (2001)

    Google Scholar 

  13. Chaparro, O., et al.: Detecting missing information in bug descriptions. In: Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering, pp. 396–407 (2017)

    Google Scholar 

  14. Dougherty, G.: Pattern Recognition and Classification: An Introduction. Springer, New York (2012). https://doi.org/10.1007/978-1-4614-5323-9

    Book  MATH  Google Scholar 

  15. Fazzini, M., Prammer, M., d’Amorim, M., Orso, A.: Automatically translating bug reports into test cases for mobile apps. In: Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis, pp. 141–152. ACM (2018)

    Google Scholar 

  16. Gegick, M., Rotella, P., Xie, T.: Identifying security bug reports via text mining: an industrial case study. In: International Working Conference on Mining Software Repositories, pp. 11–20 (2010)

    Google Scholar 

  17. Joachims, T.: Making large-scale SVM learning practical. Technical report, SFB 475: Komplexitätsreduktion in Multivariaten \(\ldots \) (1998)

    Google Scholar 

  18. Joachims, T.: Text categorization with support vector machines: learning with many relevant features. In: Nédellec, C., Rouveirol, C. (eds.) ECML 1998. LNCS, vol. 1398, pp. 137–142. Springer, Heidelberg (1998). https://doi.org/10.1007/BFb0026683

    Chapter  Google Scholar 

  19. Kulkarni, A., Shivananda, A.: Converting text to features. In: Kulkarni, A., Shivananda, A. (eds.) Natural Language Processing Recipes, pp. 67–96. Springer, Heidelberg (2019). https://doi.org/10.1007/978-1-4842-4267-4_3

    Chapter  Google Scholar 

  20. Moran, K., Linares-Vásquez, M., Bernal-Cárdenas, C., Poshyvanyk, D.: Auto-completing bug reports for android applications. In: Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering, pp. 673–686. ACM (2015)

    Google Scholar 

  21. Packard, H.: Failing to meet mobile app user expectations: a mobile user survey. Technical report (2015)

    Google Scholar 

  22. Ponzanelli, L., Mocci, A., Lanza, M.: StORMeD: stack overflow ready made data. In: 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories, pp. 474–477. IEEE (2015)

    Google Scholar 

  23. Rigby, P.C., Robillard, M.P.: Discovering essential code elements in informal documentation. In: 2013 35th International Conference on Software Engineering (ICSE), pp. 832–841. IEEE (2013)

    Google Scholar 

  24. Xia, X., Lo, D., Qiu, W., Wang, X., Zhou, B.: Automated configuration bug report prediction using text mining. In: Computer Software and Applications Conference, pp. 107–116 (2014)

    Google Scholar 

  25. Yoo, S., Harman, M.: Regression testing minimization, selection and prioritization: a survey. STVR 22(2), 67–120 (2012)

    Google Scholar 

  26. Zhao, Y., Yu, T., Su, T., Liu, Y., Zheng, W., Zhang, J., Halfond, W.G.: Recdroid: automatically reproducing android application crashes from bug reports. In: Proceedings of the 2019 41st ACM/IEEE International Conference on Software Engineering (2019)

    Google Scholar 

Download references

Acknowledgements

This research is supported in part by the NSF grant CCF-1652149.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yu Zhao .

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

Zhao, Y., Miller, K., Yu, T., Zheng, W., Pu, M. (2019). Automatically Extracting Bug Reproducing Steps from Android Bug Reports. In: Peng, X., Ampatzoglou, A., Bhowmik, T. (eds) Reuse in the Big Data Era. ICSR 2019. Lecture Notes in Computer Science(), vol 11602. Springer, Cham. https://doi.org/10.1007/978-3-030-22888-0_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-22888-0_8

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-22887-3

  • Online ISBN: 978-3-030-22888-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics