Abstract | ||
---|---|---|
Binary instrumentation has been widely used to observe dynamic program behavior, but current binary instrumentation systems do not allow the tool writer to alter the program execution path. This paper introduces some simple and general mechanisms for a binary instrumentation infrastructure to provide control over the application's execution path, allowing tools to replay or skip parts of the application, and to start or switch between threads. Specifically, the technique provides the following three functionalities for both single-threaded and multi-threaded applications: (1) checkpointing the execution state, (2) resuming execution at a checkpoint, and (3) starting execution at an arbitrary point in the program with a specified architectural state. We describe our implementation of these functionalities in Pin, a dynamic binary instrumentation infrastructure from Intel [5]. We demonstrate the usefulness of our mechanism by describing several binary instrumentation tools that have been built using this interface, including a transactional memory model and a thread scheduler. |
Year | DOI | Venue |
---|---|---|
2005 | 10.1145/1127577.1127587 | SIGARCH Computer Architecture News |
Keywords | Field | DocType |
execution state,program execution path,binary instrumentation infrastructure,binary instrumentation tool,current binary instrumentation system,controlling program execution,execution path,multi-threaded application,binary instrumentation,dynamic program behavior,dynamic binary instrumentation infrastructure,memory model | Instrumentation (computer programming),Program behavior,Computer science,Parallel computing,Transactional memory,Real-time computing,Thread (computing),Operating system,Binary number,Instrumentation | Journal |
Volume | Issue | Citations |
33 | 5 | 16 |
PageRank | References | Authors |
2.00 | 4 | 4 |
Name | Order | Citations | PageRank |
---|---|---|---|
Heidi Pan | 1 | 55 | 4.13 |
Krste Asanović | 2 | 2975 | 226.80 |
Robert Cohn | 3 | 331 | 31.29 |
Chi-Keung Luk | 4 | 2537 | 116.49 |