Treffer: VeriDroid: Automating Android Application Verification

Title:
VeriDroid: Automating Android Application Verification
Publisher Information:
ACM
Publication Year:
2013
Collection:
The Hong Kong University of Science and Technology: HKUST Institutional Repository
Document Type:
Konferenz conference object
Language:
English
Relation:
Proceedings of the 2013 Middleware Doctoral Symposium, New York, NY, USA : ACM, 2013; https://doi.org/10.1145/2541534.2541594
DOI:
10.1145/2541534.2541594
Accession Number:
edsbas.7C960D42
Database:
BASE

Weitere Informationen

Smartphone applications' quality is vital. Many smartphone applications, however, suffer from various defects. One major reason is that developers lack viable techniques to expose potential defects in their applications. This paper presents a tool VeriDroid to help automatically verify Android applications. We built VeriDroid by extending Java PathFinder (JPF), a widely-used verification framework for general Java programs. Our extension addresses two technical challenges. First, Android applications are event-driven and lack explicit calling relationships between event handlers for verification. Second, Android applications closely hinge on different framework libraries, whose implementations are platform-dependent. To address these challenges, we derive event handler scheduling policies from Android documentations, and encode them to guide JPF to realistically execute Android applications. Besides, we model side effects for a critical set of Android APIs such that one can conduct verification precisely. By doing so, our VeriDroid can verify Android applications in a fully automated manner. We implemented a prototype checker on VeriDroid and applied it to detect null-pointer dereference and resource leak defects in Android applications. Our experiments with five large-scale and popularly-downloaded subjects showed that VeriDroid can effectively detect real defects and provide actionable information to facilitate program debugging. © 2013 ACM.