Please use this identifier to cite or link to this item:
https://hdl.handle.net/10356/161835
Title: | Why my app crashes? Understanding and benchmarking framework-specific exceptions of android apps | Authors: | Su, Ting Fan, Lingling Chen, Sen Liu, Yang Xu, Lihua Pu, Geguang Su, Zhendong |
Keywords: | Engineering::Computer science and engineering | Issue Date: | 2020 | Source: | Su, T., Fan, L., Chen, S., Liu, Y., Xu, L., Pu, G. & Su, Z. (2020). Why my app crashes? Understanding and benchmarking framework-specific exceptions of android apps. IEEE Transactions On Software Engineering, 48(4), 1115-1137. https://dx.doi.org/10.1109/TSE.2020.3013438 | Project: | NRF2018NCR-NCR005-0001 NRF2018NCR-NSOE004-0001 NRFI06-2020-0022 |
Journal: | IEEE Transactions on Software Engineering | Abstract: | Mobile apps have become ubiquitous. Ensuring their correctness and reliability is important. However, many apps still suffer from occasional to frequent crashes, weakening their competitive edge. Large-scale, deep analyses of the characteristics of real-world app crashes can provide useful insights to both developers and researchers. However, such studies are difficult and yet to be carried out - this work fills this gap. We collected 16,245 and 8,760 unique exceptions from 2,486 open-source and 3,230 commercial Android apps, respectively, and observed that the exceptions thrown from Android framework (termed 'framework-specific exceptions') account for the majority. With one-year effort, we (1) extensively investigated these framework-specific exceptions, and (2) further conducted an online survey of 135 professional app developers about how they analyze, test, reproduce and fix these exceptions. Specifically, we aim to understand the framework-specific exceptions from several perspectives: (i) their characteristics (e.g., manifestation locations, fault taxonomy), (ii) the developers' testing practices, (iii) existing bug detection techniques' effectiveness, (iv) their reproducibility and (v) bug fixes. To enable follow-up research (e.g., bug understanding, detection, localization and repairing), we further systematically constructed, DroidDefects, the first comprehensive and largest benchmark of Android app exception bugs. This benchmark contains 33 reproducible exceptions (with test cases, stack traces, faulty and fixed app versions, bug types, etc.), and 3,696 ground-truth exceptions (real faults manifested by automated testing tools), which cover the apps with different complexities and diverse exception types. Based on our findings, we also built two prototype tools: Stoat+, an optimized dynamic testing tool, which quickly uncovered three previously-unknown, fixed crashes in Gmail and Google+; ExLocator, an exception localization tool, which can locate the root causes of specific exception types. Our dataset, benchmark and tools are publicly available on https://github.com/tingsu/droiddefects. | URI: | https://hdl.handle.net/10356/161835 | ISSN: | 0098-5589 | DOI: | 10.1109/TSE.2020.3013438 | Schools: | School of Computer Science and Engineering | Rights: | © 2020 IEEE. All rights reserved. | Fulltext Permission: | none | Fulltext Availability: | No Fulltext |
Appears in Collections: | SCSE Journal Articles |
SCOPUSTM
Citations
20
9
Updated on Oct 1, 2023
Web of ScienceTM
Citations
20
16
Updated on Oct 2, 2023
Page view(s)
95
Updated on Oct 3, 2023
Google ScholarTM
Check
Altmetric
Items in DR-NTU are protected by copyright, with all rights reserved, unless otherwise indicated.