Limit search to available items
Book Cover
Author Hazelwood, Kim Michelle, 1976-

Title Dynamic binary modification : tools, techniques, and applications / Kim Hazelwood
Published [San Rafael, Calif.] : Morgan & Claypool Publishers, [2011]
Online access available from:
Synthesis Digital Library    View Resource Record  


Description 1 online resource (xi, 67 pages) : illustrations
Series Synthesis lectures on computer architecture, 1935-3243 ; #15
Synthesis lectures in computer architecture ; #15
Contents Acknowledgments -- 1. Dynamic binary modification: overview -- Utility -- Functionality -- System performance -- High-level summary
2. Using a dynamic binary modifier -- Heavyweight vs. lightweight control -- JIT-mode execution -- Probe-mode execution -- Persistent binary modification -- Launching the system -- Complete process control -- Attaching to an existing process -- Programmable instrumentation -- Platform-specific behaviors -- End-user optimizations -- Debugging your plug-in tool
3. Program analysis and debugging -- Program analysis examples -- Parallel program analysis -- Deterministic replay -- Customizable debugging
4. Active program modification -- Fine-grained instruction modification -- Function replacement -- Dynamic optimization -- Sandboxing and security enforcement
5. Architectural exploration -- Simulation -- Trace generation -- Functional cache simulation -- Functional branch prediction simulation -- Timing simulation -- Emulation -- Supporting new instructions -- Masking hardware flaws -- Binary translation -- Design-space exploration
6. Advanced system internals -- Modes of execution -- Modified copy on demand -- Modification in place -- A shared address space -- Acquiring control -- Maintaining control: JIT compilation -- Storing modified code: the code cache -- Forming traces of modified code -- Code cache eviction and replacement -- Code cache introspection -- Handling self-modifying code -- The emulator -- Multithreaded program support -- Thread-shared code caches -- Generational cache replacement -- Windows execution support -- Masking overhead with parallelism -- Remaining challenges
7. Historical perspectives
8. Summary and observations -- Bibliography -- Author's biography
Summary Dynamic binary modification tools form a software layer between a running application and the underlying operating system, providing the powerful opportunity to inspect and potentially modify every user-level guest application instruction that executes. Toolkits built upon this technology have enabled computer architects to build powerful simulators and emulators for design-space exploration, compiler writers to analyze and debug the code generated by their compilers, software developers to fully explore the features, bottlenecks, and performance of their software, and even end-users to extend the functionality of proprietary software running on their computers
Bibliography Includes bibliographical references (pages 59-65)
Subject Application software.
Computer programs -- Execution.
Software maintenance.
Form Electronic book
ISBN 1608454584
1608454592 (electronic bk.)
9781608454594 (electronic bk.)