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

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

Full description

Saved in:
Bibliographic Details
Published inSoftware Quality: Methods and Tools for Better Software and Systems Vol. 302; pp. 133 - 143
Main Authors Lenarduzzi, Valentina, Stan, Alexandru Cristian, Taibi, Davide, Venters, Gustavs, Windegger, Markus
Format Book Chapter
LanguageEnglish
Published Switzerland Springer International Publishing AG 2018
Springer International Publishing
SeriesLecture Notes in Business Information Processing
Subjects
Online AccessGet full text
ISBN9783319714394
3319714392
ISSN1865-1348
1865-1356
DOI10.1007/978-3-319-71440-0_8

Cover

More Information
Summary: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.
ISBN:9783319714394
3319714392
ISSN:1865-1348
1865-1356
DOI:10.1007/978-3-319-71440-0_8