Exception handling bug hazards in Android

Results from a mining study and an exploratory survey

Journal Article (2017)
Author(s)

Roberta Coelho (Federal University of Rio Grande do Norte)

Lucas Almeida (Federal University of Rio Grande do Norte, Campus São Gonçalo do Amarante.)

Gousios Gousios (TU Delft - Software Engineering)

A. Van van Deursen (TU Delft - Software Technology)

Christoph Treude (University of Adelaide)

Research Group
Software Engineering
Copyright
© 2017 R. De Souza Coelho, Lucas Almeida, G. Gousios, A. van Deursen, Christoph Treude
DOI related publication
https://doi.org/10.1007/s10664-016-9443-7
More Info
expand_more
Publication Year
2017
Language
English
Copyright
© 2017 R. De Souza Coelho, Lucas Almeida, G. Gousios, A. van Deursen, Christoph Treude
Related content
Research Group
Software Engineering
Issue number
3
Volume number
22
Pages (from-to)
1264–1304
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

Adequate handling of exceptions has proven difficult for many software engineers. Mobile app developers in particular, have to cope with compatibility, middleware, memory constraints, and battery restrictions. The goal of this paper is to obtain a thorough understanding of common exception handling bug hazards that app developers face. To that end, we first provide a detailed empirical study of over 6,000 Java exception stack traces we extracted from over 600 open source Android projects. Key insights from this study include common causes for system crashes, and common chains of wrappings between checked and unchecked exceptions. Furthermore, we provide a survey with 71 developers involved in at least one of the projects analyzed. The results corroborate the stack trace findings, and indicate that developers are unaware of frequently occurring undocumented exception handling behavior. Overall, the findings of our study call for tool support to help developers understand their own and third party exception handling and wrapping logic.

Files

TUD_SERG_2016_018.pdf
(pdf | 1.39 Mb)
License info not available
TUD_SERG_2016_018_1.pdf
(pdf | 1.39 Mb)
- Embargo expired in 13-08-2017
License info not available