author = {Octeau, Damien and Jha, Somesh and McDaniel, Patrick},
  title = {Retargeting Android Applications to Java Bytecode},
  booktitle = {Proceedings of the 20th ACM SIGSOFT International 
Symposium on the Foundations of Software Engineering},
  series = {FSE '12},
  year = {2012},
  isbn = {978-1-4503-1614-9},
  location = {Cary, North Carolina},
  pages = {6:1--6:11},
  articleno = {6},
  numpages = {11},
  url = {},
  doi = {10.1145/2393596.2393600},
  acmid = {2393600},
  publisher = {ACM},
  address = {New York, NY, USA},
  keywords = {Android, Dalvik bytecode, Dalvik retargeting},
  abstract = {The Android OS has emerged as the leading platform for 
SmartPhone applications. However, because Android applications are 
compiled from Java source into platform-specific Dalvik bytecode, 
existing program analysis tools cannot be used to evaluate their 
behavior. This paper develops and evaluates algorithms for retargeting 
Android applications received from markets to Java class files. The 
resulting Dare tool uses a new intermediate representation to enable 
fast and accurate retargeting. Dare further applies strong constraint 
solving to infer typing information and translates the 257 DVM opcodes 
using only 9 translation rules. It also handles cases where the input 
Dalvik bytecode is unverifiable. We evaluate Dare on 1,100 of the top 
applications found in the free section of the Android market and 
successfully retarget 99.99\% of the 262,110 associated classes. 
Further, whereas existing tools can only fully retarget about half of 
these applications, Dare can recover over 99\% of them. In this way, 
we open the door to users, developers and markets to use the vast 
array of program analysis tools to ensure the correct operation of 
Android applications.}