Tampere University of Technology

TUTCRIS Research Portal

Prioritizing corrective maintenance activities for android applications: An industrial case study on android crash reports

Research output: Chapter in Book/Report/Conference proceedingConference contributionScientificpeer-review

Details

Original languageEnglish
Title of host publicationSoftware Quality
Subtitle of host publicationMethods and Tools for Better Software and Systems - 10th International Conference, SWQD 2018, Proceedings
PublisherSpringer-Verlag Berlin Heidelberg
Pages133-143
Number of pages11
ISBN (Print)9783319714394
DOIs
Publication statusPublished - Jan 2018
Publication typeA4 Article in a conference publication
EventINTERNATIONAL CONFERENCE ON SOFTWARE QUALITY -
Duration: 1 Jan 1900 → …

Publication series

NameLecture Notes in Business Information Processing
Volume302
ISSN (Print)1865-1348

Conference

ConferenceINTERNATIONAL CONFERENCE ON SOFTWARE QUALITY
Period1/01/00 → …

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.