Dynamic Binary Translation for Transient Fault Detection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software-only approaches to transient fault detection require access to source code and modifications to the compilation process, making them impractical for many applications, and they often result in significant performance degradation.
Innovation Solution
A method and apparatus that utilize dynamic binary translation to transform code by inserting reliability instructions into binary code using a just-in-time compiler, which duplicates critical instructions and validates data before storage, allowing for transient fault detection without hardware modifications and offering customizable reliability and performance trade-offs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If static compilation techniques are used for fault detection, then reliability is improved, but ease of operation deteriorates due to requiring source code access and compilation process modifications
Solution Approach 1:
The patent replaces the mechanical process of static compilation (requiring source code access and compilation modifications) with a runtime binary translation system. The just-in-time compiler dynamically translates and instruments binary code during execution, eliminating the need for source code access and pre-compilation steps, thus improving ease of operation while maintaining fault detection capability.
2Reliability
If comprehensive fault detection is implemented, then reliability is improved, but productivity deteriorates due to significant performance degradation
Solution Approach 1:
The patent implements selective fault detection by allowing users to specify which code regions require monitoring. The system performs comprehensive validation only on user-designated critical regions rather than uniformly across the entire application, reducing the performance overhead while maintaining reliability for the most important parts of the system.
Solution Approach 2:
The system dynamically adjusts the level of fault detection based on runtime conditions and user specifications. The just-in-time compiler can adaptively apply instrumentation to different code regions based on their criticality, allowing the system to optimize the balance between reliability and performance during execution rather than using a fixed comprehensive approach.
Data Source
AI summary
A method for detecting transient fault includes translating binary code to an intermediate language code. An instruction of interest in the intermediate language code is identified. Reliability instructions are inserted in the intermediate language code to validate values from the instruction of interest. The intermediate language code is translated to binary code. Other embodiments are described and claimed.


