Title :
Enabling sophisticated analyses of ×86 binaries with RevGen
Author :
Chipounov, Vitaly ; Candea, George
Author_Institution :
Sch. of Comput. & Commun. Sci., Ecole Polytech. Fed. de Lausanne (EPFL), Lausanne, Switzerland
Abstract :
Current state-of-the-art static analysis tools for binary software operate on ad-hoc intermediate representations (IR) of the machine code. Therefore, even though IRs facilitate program analysis by abstracting away the source language, it is hard to reuse existing implementations of analysis tools in new endeavors. Recently, a new compiler framework - LLVM - has emerged, together with many analysis tools that use its IR. However, these tools rely on a compiler to generate the IR from source code. We propose RevGen, a tool that automatically converts existing binary programs to the standard LLVM IR, making an increasingly large number of static and dynamic analysis frameworks, as well as run-time instrumentation tools, applicable to legacy software. We show the potential of RevGen by converting several programs and device drivers to LLVM and checking the resulting code with off-the-shelf analysis tools.
Keywords :
device drivers; program compilers; program diagnostics; software maintenance; source coding; ×86 binaries; LLVM; RevGen; ad-hoc intermediate representations; analysis frameworks; binary software; compiler framework; device drivers; legacy software; machine code; program analysis; run-time instrumentation tools; source code; source language; static analysis tools; Assembly; Driver circuits; Instruction sets; Libraries; Registers; Transforms;
Conference_Titel :
Dependable Systems and Networks Workshops (DSN-W), 2011 IEEE/IFIP 41st International Conference on
Conference_Location :
Hong Kong
Print_ISBN :
978-1-4577-0374-4
Electronic_ISBN :
978-1-4577-0373-7
DOI :
10.1109/DSNW.2011.5958815