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

25 Citations (Scopus)


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
Issue numberPart A
Pages (from-to)25-55
Number of pages31
Publication statusPublished - 15 Oct 2014


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

Cite this