Journal ArticleDOI
An API for Runtime Code Patching
Bryan R. Buck,Jeffrey K. Hollingsworth +1 more
- Vol. 14, Iss: 4, pp 317-329
Reads0
Chats0
TLDR
The authors present a postcompiler program manipulation tool called Dyninst, which provides a C++ class library for program instrumentation that permits machine-independent binary instrumentation programs to be written.Abstract:
The authors present a postcompiler program manipulation tool called Dyninst, which provides a C++ class library for program instrumentation. Using this library, it is possible to instrument and modify application programs during execution. A unique feature of this library is that it permits machine-independent binary instrumentation programs to be written. The authors describe the interface that a tool sees when using this library. They also discuss three simple tools built using this interface: a utility to count the number of times a function is called, a program to capture the output of an already running program to a file, and an implementation of conditional breakpoints. For the conditional breakpoint example, the authors show that by using their interface compared with gdb, they are able to execute a program with conditional breakpoints up to 900 times faster.read more
Citations
More filters
Proceedings ArticleDOI
Execution reconstruction: harnessing failure reoccurrences for failure reproduction
TL;DR: Execution Reconstruction (ER) as mentioned in this paper uses hardware-assisted control and data tracing to shepherd symbolic execution and reproduce failures in production systems, which is a technique that strikes a better balance between efficiency, effectiveness and accuracy.
Patent
Method for ECU calibration and diagnostics development
TL;DR: In this article, a method for controlling RAM variables embedded in a microprocessor software executable without modifications to the underlying source code is presented, which includes: presenting an software program having a plurality of machine instructions of a finite number of fixed lengths in an executable form; searching through the machine instructions and finding at least one appropriate instruction to replace; defining a replacement instruction for identified machine instructions in the software program; and replacing identified machine instruction in the executable form of software program with the replacement instruction.
Patent
Binary rewriting system
TL;DR: In this paper, a hybrid static/dynamic binary rewrite method is presented, comprising of a one-time configuration step for instrumentation of an unmodified executable binary, invoking the executable binary by copying the unmodified binary into a system memory image and running the binary from the systemmemory image, and rewriting the system memory output by inserting at a safe location one or more new instructions in place of existing instructions.
Journal ArticleDOI
Scalable dynamic Monitoring, Analysis and Tuning Environment for parallel applications
TL;DR: This work proposes a new approach to make MATE scalable and presents the experimental results and the analysis to validate the proposed approach against the original one.
Proceedings Article
Compiler Support for Efficient Instrumentation.
TL;DR: This paper presents a meta-analyses of the immune system’s response to TSPs and suggests a number of mechanisms that may be useful in the diagnosis of immune-inflammatory diseases.
References
More filters
Proceedings ArticleDOI
ATOM: a system for building customized program analysis tools
Amitabh Srivastava,Alan Eustace +1 more
TL;DR: ATOM as mentioned in this paper is a single framework for building a wide range of customized program analysis tools, including block counting, profiling, dynamic memory recording, instruction and data cache simulation, pipeline simulation, evaluating branch prediction, and instruction scheduling.
Journal ArticleDOI
The Paradyn parallel performance measurement tool
Barton P. Miller,Mark Callaghan,J.M. Cargille,Jeffrey K. Hollingsworth,R.B. Irvin,Karen L. Karavanic,Krishna Kunchithapadam,Tia Newhall +7 more
TL;DR: Dynamic instrumentation lets us defer insertion until the moment it is needed (and remove it when it is no longer needed); Paradyn's Performance Consultant decides when and where to insert instrumentation.
Proceedings ArticleDOI
EEL: machine-independent executable editing
James R. Larus,Eric Schnarr +1 more
TL;DR: EEL supports a machine- and system-independent editing model that enables tool builders to modify an executable without being aware of the details of the underlying architecture or operating system or being concerned with the consequences of deleting instructions or adding foreign code.
Proceedings Article
Instrumentation and optimization of Win32/intel executables using Etch
Ted Romer,Geoff Voelker,Dennis Lee,Alec Wolman,Wayne Wong,Henry M. Levy,Brian N. Bershad,Brad Chen +7 more
TL;DR: Etch is a general-purpose tool for rewriting arbitrary Win32/x86 binaries without requiring source code and some of the tools that are built using it are described, including a hierarchical call graph profiler and an instruction layout optimization tool.
Proceedings ArticleDOI
Dynamic program instrumentation for scalable performance tools
TL;DR: This work presents a new technique called 'dynamic instrumentation' that provides efficient, scalable, yet detailed data collection for large-scale parallel applications and includes recommendations to operating system designers, compiler writers, and computer architects about the features necessary to permit efficient monitoring of large- scale parallel systems.