UCL Discovery
UCL home » Library Services » Electronic resources » UCL Discovery

The exception handling riddle: An empirical study on the Android API

Kechagia, M; Fragkoulis, M; Louridas, P; Spinellis, D; (2018) The exception handling riddle: An empirical study on the Android API. Journal of Systems and Software , 142 pp. 248-270. 10.1016/j.jss.2018.04.034. Green open access

[thumbnail of kechagia_jss_18.pdf]
Preview
Text
kechagia_jss_18.pdf - Accepted Version

Download (1MB) | Preview

Abstract

We examine the use of the Java exception types in the Android platform’s Application Programming Interface (API) reference documentation and their impact on the stability of Android applications. We develop a method that automatically assesses an API’s quality regarding the exceptions listed in the API’s documentation. We statically analyze ten versions of the Android platform’s API (14–23) and 3539 Android applications to determine inconsistencies between exceptions that analysis can find in the source code and exceptions that are documented. We cross-check the analysis of the Android platform’s API and applications with crash data from 901,274 application execution failures (crashes). We discover that almost 10% of the undocumented exceptions that static analysis can find in the Android platform’s API source code manifest themselves in crashes. Additionally, we observe that 38% of the undocumented exceptions that developers use in their client applications to handle API methods also manifest themselves in crashes. These findings argue for documenting known might-thrown exceptions that lead to execution failures. However, a randomized controlled trial we run shows that relevant documentation improvements are ineffective and that making such exceptions checked is a more effective way for improving applications’ stability.

Type: Article
Title: The exception handling riddle: An empirical study on the Android API
Open access status: An open access version is available from UCL Discovery
DOI: 10.1016/j.jss.2018.04.034
Publisher version: https://doi.org/10.1016/j.jss.2018.04.034
Language: English
Additional information: This version is the author accepted manuscript. For information on re-use, please refer to the publisher’s terms and conditions.
Keywords: Exceptions, Application programming interfaces, Documentation
UCL classification: UCL
UCL > Provost and Vice Provost Offices > UCL BEAMS
UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science
UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science > Dept of Computer Science
URI: https://discovery.ucl.ac.uk/id/eprint/10102129
Downloads since deposit
244Downloads
Download activity - last month
Download activity - last 12 months
Downloads by country - last 12 months

Archive Staff Only

View Item View Item