Formalisation and analysis of Dalvik bytecode

Erik Ramsgaard Wognsen, Henrik Søndberg Karlsen, Mads Chr. Olesen, Rene Rydhof Hansen

Research output: Contribution to journalJournal articleResearchpeer-review

29 Citations (Scopus)

Abstract

With the large, and rapidly increasing, number of smartphones based on the Android platform, combined with the open nature of the platform that allows “apps” to be downloaded and executed on the smartphone, misbehaving and malicious (malware) apps are set to become a serious problem. To counter this problem, automated tools for analysing and verifying apps are essential. Furthermore, to ensure high-fidelity of such tools, it is essential to formally specify both semantics and analyses.

In this paper we present, to the best of our knowledge, the first formalisation of the complete Dalvik bytecode language including reflection features and the first formally specified control flow analysis for the language, including advanced control flow features such as dynamic dispatch, exceptions, and reflection. To determine which features to include in the formalisation and analysis, 1700 Android apps from the Google Play app market (formerly known as Android Market) were downloaded and examined.
Original languageEnglish
JournalScience of Computer Programming
Volume92
Issue numberPart A
Pages (from-to)25-55
Number of pages31
ISSN0167-6423
DOIs
Publication statusPublished - 15 Oct 2014

Fingerprint

Dive into the research topics of 'Formalisation and analysis of Dalvik bytecode'. Together they form a unique fingerprint.

Cite this