Exception Handling Bug Hazards in Android: Results from a Mining Study and an Exploratory Survey

by Coelho, Roberta and Almeida, Lucas and Gousios, Georgios and van Deursen, Arie and Treude, Christoph

You can get a pre-print version from here.
You can view the publisher's page here.

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

Bibtex record

@article{CAGDT16,
  year = {2016},
  issn = {1382-3256},
  journal = {Empirical Software Engineering},
  title = {Exception Handling Bug Hazards in Android: Results from a Mining Study and an Exploratory Survey},
  publisher = {Springer US},
  author = {Coelho, Roberta and Almeida, Lucas and Gousios, Georgios and van Deursen, Arie and Treude, Christoph},
  url = {http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2016-018.pdf},
  doi = {10.1007/s10664-016-9443-7},
  note = {To appear}
}

The paper