Unveiling exception handling bug hazards in Android based on GitHub and Google code issues

Conference Paper (2015)
Author(s)

Roberta De Souza Coelho (Federal University of Rio Grande do Norte)

Lucas Almeida (Universidade Federal do Rio Grande do Norte)

G. Georgios (Radboud Universiteit Nijmegen)

A. van Deursen (TU Delft - Software Technology)

Department
Software Technology
Copyright
© 2015 R. De Souza Coelho, Lucas Almeida, G. Gousios, A. van Deursen
DOI related publication
https://doi.org/10.1109/MSR.2015.20
More Info
expand_more
Publication Year
2015
Language
English
Copyright
© 2015 R. De Souza Coelho, Lucas Almeida, G. Gousios, A. van Deursen
Related content
Department
Software Technology
Volume number
2015-August
Pages (from-to)
134-145
ISBN (electronic)
9780769555942
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

This paper reports on a study mining the exception stack traces included in 159,048 issues reported on Android projects hosted in GitHub (482 projects) and Google Code (157 projects). The goal of this study is to investigate whether stack trace information can reveal bug hazards related to exception handling code that may lead to a decrease in application robustness. Overall 6,005 exception stack traces were extracted, and subjected to source code and byte code analysis. The out-comes of this study include the identification of the following bug hazards: (i) unexpected cross-type exception wrappings (for instance, trying to handle an instance of Out Of Memory Error 'hidden' in a checked exception) which can make the exception-related code more complex and negatively impact the application robustness, (ii) undocumented runtime exceptions thrown by both the Android platform and third party libraries, and (iii) undocumented checked exceptions thrown by the Android Platform. Such undocumented exceptions make it difficult, and most of the times infeasible for the client code to protect against 'unforeseen' situations that may happen while calling third-party code. This study provides further insights on such bug hazards and the robustness threats they impose to Android apps as well as to other systems based on the Java exception model.

Files

TUD_SERG_2015_008_1_.pdf
(pdf | 0.716 Mb)
License info not available