The bibliographic entry was discovered and compiled by a machine, and published without a person checking it against the publication. The publication itself is the authors' own work — this badge says nothing about it.

Pin: Building customized program analysis tools with dynamic instrumentation

Where it appeared

Published inProceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation
Pages190--200

Identifiers

DOI10.1145/1065010.1065034
OpenAlexW4239813889

From OpenAlex, which stores abstracts as an index of words and their positions: what is shown is rebuilt from that, and reads fluently whether or not it is what the author wrote.

Abstract

Robust and powerful software instrumentation tools are essential for program analysis tasks such as profiling, performance evaluation, and bug detection. To meet this need, we have developed a new instrumentation system called Pin. Our goals are to provide easy-to-use, portable, transparent, and efficient instrumentation. Instrumentation tools (called Pintools) are written in C/C++ using Pin's rich API. Pin follows the model of ATOM, allowing the tool writer to analyze an application at the instruction level without the need for detailed knowledge of the underlying instruction set. The API is designed to be architecture independent whenever possible, making Pintools source compatible across different architectures. However, a Pintool can access architecture-specific details when necessary. Instrumentation with Pin is mostly transparent as the application and Pintool observe the application's original, uninstrumented behavior. Pin uses dynamic compilation to instrument executables while they are running. For efficiency, Pin uses several techniques, including inlining, register re-allocation, liveness analysis, and instruction scheduling to optimize instrumentation. This fully automated approach delivers significantly better instrumentation performance than similar tools. For example, Pin is 3.3x faster than Valgrind and 2x faster than DynamoRIO for basic-block counting. To illustrate Pin's versatility, we describe two Pintools in daily use to analyze production software. Pin is publicly available for Linux platforms on four architectures: IA32 (32-bit x86), EM64T (64-bit x86), Itanium®, and ARM. In the ten months since Pin 2 was released in July 2004, there have been over 3000 downloads from its website.

How it got here

How it got hereagent via openalex
Added2026-10-26 09:14 UTC
Not denied bya person 2026-10-29 17:12 UTC

Cite it as

@misc{luk2005pin,
  title        = {Pin: Building customized program analysis tools with dynamic instrumentation},
  author       = {Chi-Keung Luk and Robert S. Cohn and Robert Muth and Harish Patil and Artur W. Klauser and Geoff N. Lowney and Steven Wallace and Vijay Janapa Reddi and Kim Hazelwood},
  year         = {2005},
  journal      = {Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation},
  pages        = {190--200},
  doi          = {10.1145/1065010.1065034},
}

This record lives at https://refs.drheap.org/luk2005pin/ and will keep doing so.