DBILL: an efficient and retargetable dynamic binary instrumentation framework using llvm backend

  • Authors:
  • Yi-Hong Lyu;Ding-Yong Hong;Tai-Yi Wu;Jan-Jan Wu;Wei-Chung Hsu;Pangfeng Liu;Pen-Chung Yew

  • Affiliations:
  • Academia Sinica, Taipei, Taiwan Roc;Academia Sinica, Taipei, Taiwan Roc;Academia Sinica, Taipei, Taiwan Roc;Academia Sinica, Taipei, Taiwan Roc;National Taiwan University, Taipei, Taiwan Roc;National Taiwan University, Taipei, Taiwan Roc;University of Minnesota at Twin Cities, Minneapolis, MN, USA

  • Venue:
  • Proceedings of the 10th ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
  • Year:
  • 2014

Quantified Score

Hi-index 0.00

Visualization

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 re- targetable 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.