A lightweight approach to component-level exception mechanism for robust android apps. (December 2015)
- Record Type:
- Journal Article
- Title:
- A lightweight approach to component-level exception mechanism for robust android apps. (December 2015)
- Main Title:
- A lightweight approach to component-level exception mechanism for robust android apps
- Authors:
- Choi, Kwanghoon
Chang, Byeong-Mo - Abstract:
- Abstract: Recent researches have reported that Android programs are vulnerable to unexpected exceptions. One reason is that the current design of Android platform solely depends on Java exception mechanism, which is unaware of the component-based structure of Android programs. This paper proposes a component-level exception mechanism for programmers to build robust Android programs with. With the mechanism, they can define an intra-component handler for each component to recover from exceptions, and they can propagate uncaught exceptions to caller component along the reverse of component activation flow. Theoretically, we have formalized an Android semantics with exceptions to prove the robustness property of the mechanism. In practice, we have implemented the mechanism with a domain-specific library that extends existing Android components. This lightweight approach does not demand the change of the Android platform. In our experiment with Android benchmark programs, the library is found to catch a number of runtime exceptions that would otherwise get the programs terminated abnormally. We also measure the overhead of using the library to show that it is very small. Our proposal is a new mechanism for defending Android programs from unexpected exceptions. Abstract : Highlights: We design a component-level exception mechanism for Android program to improve its robustness. We design a formal semantics for Android-Java with exceptions to prove the robustness theoretically. OurAbstract: Recent researches have reported that Android programs are vulnerable to unexpected exceptions. One reason is that the current design of Android platform solely depends on Java exception mechanism, which is unaware of the component-based structure of Android programs. This paper proposes a component-level exception mechanism for programmers to build robust Android programs with. With the mechanism, they can define an intra-component handler for each component to recover from exceptions, and they can propagate uncaught exceptions to caller component along the reverse of component activation flow. Theoretically, we have formalized an Android semantics with exceptions to prove the robustness property of the mechanism. In practice, we have implemented the mechanism with a domain-specific library that extends existing Android components. This lightweight approach does not demand the change of the Android platform. In our experiment with Android benchmark programs, the library is found to catch a number of runtime exceptions that would otherwise get the programs terminated abnormally. We also measure the overhead of using the library to show that it is very small. Our proposal is a new mechanism for defending Android programs from unexpected exceptions. Abstract : Highlights: We design a component-level exception mechanism for Android program to improve its robustness. We design a formal semantics for Android-Java with exceptions to prove the robustness theoretically. Our experiment with nine Android source benchmarks shows that six programs become more robust with the mechanism. Our approach is lightweight, not demanding any change of Android platform for use of the mechanism. Our proposal is a new mechanism for defending Android programs from unexpected exceptions. … (more)
- Is Part Of:
- Computer languages, systems & structures. Volume 44:Part C(2015)
- Journal:
- Computer languages, systems & structures
- Issue:
- Volume 44:Part C(2015)
- Issue Display:
- Volume 44, Issue 2015 (2015)
- Year:
- 2015
- Volume:
- 44
- Issue:
- 2015
- Issue Sort Value:
- 2015-0044-2015-0000
- Page Start:
- 283
- Page End:
- 298
- Publication Date:
- 2015-12
- Subjects:
- Android -- Java -- Exception -- Component -- Semantics
Programming languages (Electronic computers) -- Periodicals
Computer networks -- Periodicals
Computer architecture -- Periodicals
Computer systems -- Periodicals
Langage de programmation
Réseau d'ordinateurs
Architecture d'ordinateur
Périodique électronique (Descripteur de forme)
Ressource Internet (Descripteur de forme)
005.13 - Journal URLs:
- http://www.sciencedirect.com/science/journal/14778424/40 ↗
http://www.elsevier.com/journals ↗ - DOI:
- 10.1016/j.cl.2015.08.010 ↗
- Languages:
- English
- ISSNs:
- 1477-8424
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library DSC - 3394.071000
British Library DSC - BLDSS-3PM
British Library STI - ELD Digital store - Ingest File:
- 14584.xml