Postponed Binary Translation for Execution Overhead

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional dynamic binary translation (DBT) and instrumentation (DBI) frameworks incur significant overhead, doubling the execution time of programs due to the need for translation and emulation of entire executable files, making them inefficient for testing and debugging.

Innovation Solution

The method postpones DBI/DBT until a point of interest is reached, allowing portions of the process to run in native mode until then, setting hooks to transfer control for translation and instrumentation only when necessary, thereby reducing unnecessary overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If DBT and DBI are performed on the entire executable from the beginning, then complete coverage for testing and debugging is achieved, but execution time is doubled due to translation and emulation overhead

Engineering Contradiction:
Improvetesting and debugging coverageVSAvoidexecution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by setting up hooks in advance at specific locations in the binary executable before execution begins. These hooks are prepared during the initialization phase but do not activate DBT/DBI until the program reaches predetermined points of interest, allowing the system to be ready for instrumentation while avoiding premature overhead.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the executable program into different phases: an initial phase that runs natively without instrumentation, and subsequent phases that are instrumented when reaching points of interest. This segmentation allows critical early initialization code to execute efficiently while still enabling comprehensive analysis of later execution phases.

Inventive Principle:
Principle #1Segmentation

2Loss of time

If DBT and DBI are postponed until a point of interest is reached, then execution time is improved by reducing overhead, but instrumentation coverage is reduced for code executed before the point of interest

Engineering Contradiction:
Improveexecution timeVSAvoidinstrumentation coverage
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent implements dynamics by making the instrumentation state changeable during execution. The system dynamically transitions from a non-instrumented state to an instrumented state when points of interest are reached, allowing the instrumentation coverage to adapt based on execution progress rather than being fixed at the beginning.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent uses hooks as intermediary mechanisms that bridge the gap between native execution and instrumented execution. These hooks are embedded in the binary at specific locations and serve as trigger points that initiate DBT/DBI only when the program flow reaches them, acting as mediators that control when instrumentation begins.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If the entire program is translated and emulated, then comprehensive analysis is achieved, but the overhead doubles the execution time

Engineering Contradiction:
Improveanalysis completenessVSAvoidexecution efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent applies local quality by applying different execution modes to different parts of the program: early initialization code executes in native mode for high performance, while later code reaches instrumented sections for comprehensive analysis. This allows each section to have the quality appropriate to its needs rather than forcing uniform treatment.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements partial action by applying DBT/DBI only to specific portions of the program from points of interest onward, rather than to the entire executable. This partial application of instrumentation achieves sufficient analysis coverage for most practical purposes while avoiding the excessive overhead of complete program translation.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10713146B2Dynamic binary translation and instrumentation with postponed attachment to running native threads
Publication Date: 2020.07.14 GEN DIGITAL INC
  • US10713146B2 patent drawing
  • US10713146B2 patent drawing
  • US10713146B2 patent drawing

AI summary

Dynamic binary instrumentation (DBI) or dynamic binary translation (DBT) of an examined process can be postponed until a point of interest is reached. Portions of the examined process can be run in native mode until the point of interest is reached. Upon reaching the point of interest, DBI and/or DBT can be performed.