Large-scale analysis of framework-specific exceptions in Android apps

Author email: ecnujanefan@gmail.com
Tool name: ExLocator
Description: Mobile apps have become ubiquitous. For app developers, it is a key priority to ensure their apps' correctness and reliability. 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 guide developers, or help improve testing and analysis tools. However, such studies do not exist --- this paper fills this gap. Over a four-month long effort, we have collected 16,245 unique exception traces from 2,486 open-source Android apps, and observed that framework-specific exceptions account for the majority of these crashes. We then extensively investigated the 8,243 framework-specific exceptions (which took six person-months): (1) identifying their characteristics (e.g., manifestation locations, common fault categories), (2) evaluating their manifestation via state-of-the-art bug detection techniques, and (3) reviewing their fixes. Besides the insights they provide, these findings motivate and enable follow-up research on mobile apps, such as bug detection, fault localization and patch generation. In addition, to demonstrate the utility of our findings, we have optimized Stoat, a dynamic testing tool, and implemented ExLocator, an exception localization tool, for Android apps. Stoat is able to quickly uncover three previously-unknown, confirmed/fixed crashes in Gmail and Google+; ExLocator is capable of precisely locating the root causes of identified exceptions in real-world apps. Our substantial dataset is made publicly available to share with and benefit the community.
Bibtex: @inproceedings{10.1145/3180155.3180222, author = {Fan, Lingling and Su, Ting and Chen, Sen and Meng, Guozhu and Liu, Yang and Xu, Lihua and Pu, Geguang and Su, Zhendong}, title = {Large-Scale Analysis of Framework-Specific Exceptions in Android Apps}, year = {2018}, isbn = {9781450356381}, publisher = {Association for Computing Machinery}, address = {New York, NY, USA}, url = {https://doi.org/10.1145/3180155.3180222}, doi = {10.1145/3180155.3180222}, booktitle = {Proceedings of the 40th International Conference on Software Engineering}, pages = {408–419}, numpages = {12}, keywords = {testing, empirical study, mobile app bugs, static analysis}, location = {Gothenburg, Sweden}, series = {ICSE ’18} }
Link to public pdf: https://dl.acm.org/doi/abs/10.1145/3180155.3180222
Link to tool webpage: https://crashanalysis.github.io/ExLocator-CrashAnalysis.html
Link to demo: Not provided by authors
Category: None
Year and Conference: 2018, ICSE
Terms of use