Welcome to P K Kelkar Library, Online Public Access Catalogue (OPAC)

Normal view MARC view ISBD view

Dynamic binary modification : tools, techniques, and applications /

By: Hazelwood, Kim.
Material type: materialTypeLabelBookSeries: Synthesis digital library of engineering and computer science: ; Synthesis lectures on computer architecture: # 15.Publisher: San Rafael, Calif. (1537 Fourth Street, San Rafael, CA 94901 USA) : Morgan & Claypool, c2011Description: 1 electronic text (xi, 67 p.) : ill., digital file.ISBN: 9781608454594 (electronic bk.).Subject(s): Software maintenance | Application software | Computer programs -- Execution | Dynamic binary modification | Instrumentation | Runtime optimization | Binary translation | Profiling | Debugging | Simulation | Security | User-level analysisDDC classification: 005.16 Online resources: Abstract with links to resource Also available in print.
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.
Abstract: 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.
    average rating: 0.0 (0 votes)
Item type Current location Call number Status Date due Barcode Item holds
E books E books PK Kelkar Library, IIT Kanpur
Available EBKE324
Total holds: 0

Mode of access: World Wide Web.

System requirements: Adobe Acrobat Reader.

Part of: Synthesis digital library of engineering and computer science.

Series from website.

Includes bibliographical references (p. 59-65).

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.

Abstract freely available; full-text restricted to subscribers or individual document purchasers.

Compendex

INSPEC

Google scholar

Google book search

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.

Also available in print.

Title from PDF t.p. (viewed on April 22, 2011).

There are no comments for this item.

Log in to your account to post a comment.

Powered by Koha