Abstract
Dynamic Binary Instrumentation (DBI) is a core technology for building debugging and profiling tools for application executables. Most state-of-the-art DBI systems have focused on the same instruction set architecture (ISA) where the guest binary and the host binary have the same ISA. It is uncommon to have a cross-ISA DBI system, such as a system that instruments ARM executables to run on x86 machines. We believe cross-ISA DBI systems are increasingly more important, since ARM executables could be more productively analyzed on x86 based machines such as commonly available PCs and servers. In this paper, we present DBILL, a cross-ISA and retargetable dynamic binary instrumentation framework that builds on both QEMU and LLVM. The DBILL framework enables LLVM-based static instrumentation tools to become DBI ready, and deployable to different target architectures. Using address sanitizer and memory sanitizer as implementation examples, we show DBILL is an efficient, versatile and easy to use cross-ISA retargetable DBI framework.
Original language | English (US) |
---|---|
Title of host publication | VEE 2014 - Proceedings of the 10th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments |
Publisher | Association for Computing Machinery |
Pages | 141-152 |
Number of pages | 12 |
DOIs | |
State | Published - Jan 1 2014 |
Event | 10th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, VEE 2014 - Salt Lake City, UT, United States Duration: Mar 1 2014 → Mar 2 2014 |
Other
Other | 10th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, VEE 2014 |
---|---|
Country/Territory | United States |
City | Salt Lake City, UT |
Period | 3/1/14 → 3/2/14 |
Keywords
- Dynamic binary instrumentation framework
- LLVM enhanced dynamic binary translation and instrumentation
- LLVM-based instrumentation
- Memory bugs