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



1. | ![]() | 16 |
2. | ![]() | 8 |
3. | ![]() | 7 |
4. | ![]() | 6 |
5. | ![]() | 4 |
6. | ![]() | 3 |
7. | ![]() | 2 |
8. | ![]() | 2 |
9. | ![]() | 1 |
10. | ![]() | 1 |
Archive Staff Only
![]() |
View Item |