Skip to main content

Prioritizing Corrective Maintenance Activities for Android Applications: An Industrial Case Study on Android Crash Reports

  • Conference paper
  • First Online:
  • 765 Accesses

Part of the book series: Lecture Notes in Business Information Processing ((LNBIP,volume 302))

Abstract

Context: Unhandled code exceptions are often the cause of a drop in the number of users. In the highly competitive market of Android apps, users commonly stop using applications when they find some problem generated by unhandled exceptions. This is often reflected in a negative comment in the Google Play Store and developers are usually not able to reproduce the issue reported by the end users because of a lack of information.

Objective: In this work, we present an industrial case study aimed at prioritizing the removal of bugs related to uncaught exceptions. Therefore, we (1) analyzed crash reports of an Android application developed by a public transportation company, (2) classified uncaught exceptions that caused the crashes; (3) prioritized the exceptions according to their impact on users.

Results: The analysis of the exceptions showed that seven exceptions generated 70% of the overall errors and that it was possible to solve more than 50% of the exceptions-related issues by fixing just six Java classes. Moreover, as a side result, we discovered that the exceptions were highly correlated with two code smells, namely “Spaghetti Code” and “Swiss Army Knife”. The results of this study helped the company understand how to better focus their limited maintenance effort. Additionally, the adopted process can be beneficial for any Android developer in understanding how to prioritize the maintenance effort.

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

Learn about institutional subscriptions

Notes

  1. 1.

    SASAbus. www.sasabus.it.

  2. 2.

    https://trends.google.com.

  3. 3.

    SASAbus on the Google Play Store. https://play.google.com/store/apps/details?id=it.sasabz.android.sasabus&hl=en.

  4. 4.

    SASAbus GitHub repository. https://github.com/SASAbus/SASAbus.

References

  1. Krall, A., Probst, M.: Monitors and exceptions: how to implement Java efficiently. Concur. Pract. Exp. 10(11–13), 837–850 (1998)

    Article  Google Scholar 

  2. Turner, L.D., Owhoso, V.: Use ERP internal control exception reports to monitor and improve controls. Manag. Account. Q. 10(3), 41–50 (2009)

    Google Scholar 

  3. Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley Longman Publishing Co., Inc., Boston (1999)

    MATH  Google Scholar 

  4. Lenarduzzi, V., Sillitti, A., Taibi, D.: Analyzing forty years of software maintenance models. In: International Conference on Software Engineering (ICSE 2017), Buenos Aires, Argentina (2017)

    Google Scholar 

  5. Taibi, D., Lenarduzzi, V., Diebold, P., Lunesu, I.: Operationalizing the experience factory for effort estimation in agile processes. In: International Conference on Evaluation and Assessment in Software Engineering (EASE 2017), Karlskrona, Sweden, 15–16 June 2017. http://doi.org/10.1145/3084226.3084240

  6. Lavazza, L., Morasca, S., Taibi, D., Tosi, D.: Predicting OSS trustworthiness on the basis of elementary code assessment. In: International Symposium on Empirical Software Engineering and Measurement (ESEM 2010), Bolzano-Bozen, Italy, 16–17 September 2010. http://doi.org/10.1145/1852786.1852834

  7. Taibi, D., Janes, A., Lenarduzzi, V.: Towards a lean approach to reduce code smells injection: an empirical study. In: Sharp, H., Hall, T. (eds.) XP 2016. LNBIP, vol. 251, pp. 300–304. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-33515-5_30

    Google Scholar 

  8. Lenarduzzi, V., Stan, A.C., Taibi, D., Tosi, D., Venters, G.: A dynamical quality model to continuously monitor software maintenance. In: 11th European Conference on Information Systems Management (ECISM 2017), Genoa, Italy, 14–15 September 2017

    Google Scholar 

  9. Tosi, D., Lavazza, L., Morasca, S., Taibi, D.: On the definition of dynamic software measures. In: International Symposium on Empirical Software Engineering and Measurement (ESEM 2012), pp. 39–48. ACM, New York (2012). http://doi.org/10.1145/2372251.2372259

  10. Taibi, D., Lavazza, L., Morasca, S., Tosi, D.: An empirical investigation of perceived reliability of open source Java programs. In: Proceedings of the 27th Annual ACM Symposium on Applied Computing (SAC 2012), Riva del Garda, Italy, 26–30 March 2012. http://doi.org/10.1145/2245276.2231951

  11. Taibi, D., Janes, A., Lenarduzzi, V.: How developers perceive code smells and antipatterns in source code: a replicated study. Inf. Softw. Technol. J. (IST) 92, 223–235 (2017). https://doi.org/10.1016/j.infsof.2017.08.008

    Article  Google Scholar 

  12. Janes, A., Lenarduzzi, V., Stan, A.C.: A continuous software quality monitoring approach for small and medium enterprises. In: Proceedings of the 8th ACM/SPEC on International Conference on Performance Engineering Companion (ICPE 2017 Companion), L’Aquila, Italy (2017). http://doi.org/10.1145/3053600.3053618

  13. Lavazza, L., Morasca, S., Taibi, D., Tosi, D.: Applying SCRUM in an OSS development process: an empirical evaluation. In: Sillitti, A., Martin, A., Wang, X., Whitworth, E. (eds.) XP 2010. LNBIP, vol. 48, pp. 147–159. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-13054-0_11

    Chapter  Google Scholar 

  14. Bianco, V.D., Lavazza, L., Morasca, S., Taibi, D., Tosi, D.: The QualiSPo approach to OSS product quality evaluation. In: Proceedings of the 3rd International Workshop on Emerging Trends in Free/Libre/Open Source Software Research and Development, pp. 23–28. ACM, New York (2010). http://doi.org/10.1145/1833272.1833277

  15. Morasca, S., Taibi, D., Tosi, D.: Towards certifying the testing process of open-source software: new challenges or old methodologies? In: Proceedings of the 2009 ICSE Workshop on Emerging Trends in Free/Libre/Open Source Software Research and Development, FLOSS 2009, pp. 25–30 (2009). http://doi.org/10.1109/FLOSS.2009.5071356

  16. Caldiera, G., Rombach, H.D., Basili, V.: Goal question metric approach. In: Encyclopedia of Software Engineering, pp. 528–532. Wiley, New York (1994)

    Google Scholar 

  17. Java Oracle: Uncaught Exceptions Documentation. https://docs.oracle.com/javase/7/docs/api/java/lang/Thread.UncaughtExceptionHandler.html. Accessed May 2017

  18. Rooney, P.: Microsoft’s CEO: 80-20 Rule Applies To Bugs, Not Just Features. CRN News, 03 October 2002. http://www.crn.com/news/security/18821726/microsofts-ceo-80-20-rule-applies-to-bugs-not-just-features.htm

  19. Delgado, N., Gates, A.Q., Roach, S.: A taxonomy and catalog of runtime software-fault monitoring tools. IEEE Trans. Softw. Eng. 30(12), 859–872 (2004)

    Article  Google Scholar 

  20. Moran, K., Linares-Vásquez, M., Bernal-Cárdenas, C., Vendome, C., Poshyvanyk, D.: Automatically discovering, reporting and reproducing android application crashes. In: 2016 IEEE International Conference on Software Testing, Verification and Validation (ICST). IEEE (2016)

    Google Scholar 

  21. White, M., Linares-Vásquez, M., Johnson, P., Bernal-Cárdenas, C., Poshyvanyk, D.: Generating reproducible and replayable bug reports from android application crashes. In: 2015 IEEE 23rd International Conference on Program Comprehension (ICPC). IEEE (2015)

    Google Scholar 

  22. Agarwal, S., Mahajan, R., Zheng, A., Bahl, V.: Diagnosing mobile applications in the wild. In: Proceedings of the 9th ACM SIGCOMM Workshop on Hot Topics in Networks. ACM (2010)

    Google Scholar 

  23. Kechagia, M., Spinellis, D.: Undocumented and unchecked: exceptions that spell trouble. In: Proceedings of the 11th Working Conference on Mining Software Repositories. ACM (2014)

    Google Scholar 

  24. Cinque, M., Cotroneo, D., Testa, A.: A logging framework for the on-line failure analysis of android smart phones. In: Proceedings of the 1st European Workshop on AppRoaches to MObiquiTous Resilience. ACM (2012)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Davide Taibi .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Lenarduzzi, V., Stan, A.C., Taibi, D., Venters, G., Windegger, M. (2018). Prioritizing Corrective Maintenance Activities for Android Applications: An Industrial Case Study on Android Crash Reports. In: Winkler, D., Biffl, S., Bergsmann, J. (eds) Software Quality: Methods and Tools for Better Software and Systems. SWQD 2018. Lecture Notes in Business Information Processing, vol 302. Springer, Cham. https://doi.org/10.1007/978-3-319-71440-0_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-71440-0_8

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-71439-4

  • Online ISBN: 978-3-319-71440-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics