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.

Original languageEnglish
Title of host publicationProceedings - 12th Working Conference on Mining Software Repositories, MSR 2015
Number of pages12
ISBN (Electronic)9780769555942
Publication statusPublished - 4 Aug 2015
Event12th Working Conference on Mining Software Repositories, MSR 2015 - Florence, Italy
Duration: 16 May 201517 May 2015


Conference12th Working Conference on Mining Software Repositories, MSR 2015

    Research areas

  • Androids, Google, Hazards, Humanoid robots, Java, Libraries, Robustness

ID: 7226581