Valgrind: A Framework for Heavyweight Dynamic Binary Instrumentation

被引:561
作者
Nethercote, Nicholas [1 ]
Seward, Julian [1 ]
机构
[1] Natl ICT Australia, Melbourne, Vic, Australia
来源
PLDI'07: PROCEEDINGS OF THE 2007 ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION | 2007年
关键词
Valgrind; Memcheck; dynamic binary instrumentation; dynamic binary analysis; shadow values;
D O I
10.1145/1250734.1250746
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Dynamic binary instrumentation (DBI) frameworks make it easy to build dynamic binary analysis (DBA) tools Such as checkers and profilers. Much of the focus on DBI frameworks has been on performance: little attention has been paid to their capabilities. As a result, we believe the potential of DBI has not been fully exploited. In this paper we describe Valgrind. a DBI framework designed for building heavyweight DBA tools. We focus on its unique support for shadow values-a powerful but previously little-studied and difficult-to-implement DBA technique, which requires a toot to shadow every register and memory Value with another value that describes it. This Support accounts for several crucial design features that distinguish Valgrind from other DBI frameworks. Because of, these features, lightweight tools built with Valgind run comparatively slowly, but Valgrind can be used to build more interesting. heavyweight tools that are difficult or impossible to build with other DBI frameworks such as Pin and DynamoRIO.
引用
收藏
页码:89 / 100
页数:12
相关论文
共 28 条
  • [1] BALA V, 2000, P ACM SIGPLAN C PROG, P1, DOI DOI 10.1145/349299.349303
  • [2] An infrastructure for adaptive dynamic optimization
    Bruening, D
    Garnett, T
    Amarasinghe, S
    [J]. CGO 2003: INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION, 2003, : 265 - 275
  • [3] Bruening Derek, 2004, PhD thesis
  • [4] Burrows M, 2003, LECT NOTES COMPUT SC, V2622, P90
  • [5] CHENG W, 2006, COMMUNICATION NOV
  • [6] Cheng Winnie, 2006, P 11 IEEE S COMP COM, P749, DOI DOI 10.1109/ISCC.2006.158
  • [7] Guo P. J., 2006, 2006 ACM INT S SOFTW, P255, DOI [10.1145/1146238.1146268, DOI 10.1145/1146238.1146268]
  • [8] Hastings Reed, 1992, P WINTER 1992 USENIX, P125
  • [9] Hazelwood K., 2004, THESIS HARVARD U CAM
  • [10] LUECK G, 2006, COMMUNICATION SEP