Title :
Analysis of virtual method invocation for binary translation
Author :
Tröger, Jens ; Cifuentes, Cristina
Author_Institution :
Fac. of Inf. Technol., Queensland Univ. of Technol., Brisbane, Qld., Australia
Abstract :
The University of Queensland Binary Translator (UQBT) is a static binary translation framework that allows for the translation of binary, executable programs, from one architecture to another one. Using different specification files, the UQBT can be easily tailored for either a new source or target architecture. UQBT employs sophisticated analyses in order to abstract the binary code front the features of the source architecture. In static binary translation, it is not always possible to decode and translate all paths of a program statically, as instructions like computed jumps and indexed calls rely on runtime values. An interpreter is commonly used at runtime to translate such pieces of code, at the expense of runtime. In this paper we present a technique to statically recover the code of virtual method dispatchers, which enhances the abstraction front the binary code. We also show how the statically recovered information is then used by a dynamic environment to analyse virtual tables in order to increase the code coverage for the binary translator. The technique has been tested on SPARC(R) and Pentium machines using binaries of different C++ compilers, and preliminary results are presented.
Keywords :
program compilers; program interpreters; C+ + compilers; UQBT; binary translation; executable programs; indexed calls; interpreter; static binary translation framework; virtual method invocation; Binary codes; Computer aided instruction; Computer architecture; Information analysis; Information technology; Performance analysis; Runtime; Sun; Switches; Testing;
Conference_Titel :
Reverse Engineering, 2002. Proceedings. Ninth Working Conference on
Print_ISBN :
0-7695-1799-4
DOI :
10.1109/WCRE.2002.1173065