DocumentCode
2360709
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
fYear
2011
fDate
27-30 June 2011
Firstpage
211
Lastpage
216
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;
fLanguage
English
Publisher
ieee
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
Type
conf
DOI
10.1109/DSNW.2011.5958815
Filename
5958815
Link To Document