Shadow Operand Memory Structures for Non-Intrusive Real-Time Fault Injection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software testing tools for real-time and embedded systems face challenges in accessing internal signals of processing units due to component integration and miniaturization, making it difficult to perform non-intrusive testing without altering the program's functional and timing behavior.

Innovation Solution

A method that allocates a first memory structure for regular operands and a second memory structure for shadow operands, allowing for the replacement of operand accesses during program execution, enabling non-intrusive fault injection and data analysis without altering the program's execution path.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If external test devices are used for software testing, then testing capability is provided, but access to internal signals becomes difficult due to integration and miniaturization

Engineering Contradiction:
Improvetesting capabilityVSAvoidaccess to internal signals
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent introduces shadow operands as intermediary structures that mediate between the program code and the actual operands in memory. These shadow operands act as proxies that can be accessed and modified by test code without directly accessing the physical memory or internal signals of the processing unit, thus enabling testing while respecting the integrated architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates shadow copies of operands (shadow operands) that mirror the structure and addressing of actual operands. These copies allow test devices to interact with program data without physically accessing the integrated memory structures, effectively decoupling the testing interface from the physical hardware constraints.

Inventive Principle:
Principle #26Copying

2Loss of information

If debuggers are used to modify the program by setting watch points or break points, then program analysis is enabled, but functional and timing behavior is massively interfered with

Engineering Contradiction:
Improveprogram analysis capabilityVSAvoidfunctional and timing behavior
Core Design Contradiction:
Loss of informationVSReliability

Solution Approach 1:

Shadow operands serve as intermediaries that allow test code to observe and modify program state without the program code itself being aware of the presence of test mechanisms. This indirect access method avoids the intrusive nature of traditional debuggers that directly intercept and halt program execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the operand storage into two distinct spaces: actual operands and shadow operands. This segmentation allows independent access to each space, enabling test code to modify shadow operands without affecting the actual program execution path, thus preserving functional and timing behavior while enabling program analysis.

Inventive Principle:
Principle #1Segmentation

3Reliability

If stimuli are injected for testing purposes, then fault detection is enabled, but the program under test may be impaired

Engineering Contradiction:
Improvefault detection capabilityVSAvoidprogram impairment
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

Shadow operands provide a safe intermediary space for injecting test stimuli and faults. By modifying shadow operands rather than actual operands, the patent enables fault injection testing while preventing harmful effects on the actual program execution, as the program operates on unchanged actual operands.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The shadow operand copies allow test stimuli to be injected into the testing environment without affecting the original program data. Any faults or errors introduced in shadow operands remain isolated to the test domain and cannot corrupt the actual program execution, thus enabling reliable fault detection without program impairment.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10997061B2Method for executing a program in a computer
Publication Date: 2021.05.04 SIEMENS AG
  • US10997061B2 patent drawing
  • US10997061B2 patent drawing
  • US10997061B2 patent drawing

AI summary

A method for memory modification resulting in a test probe for examining a program under test substantially during run-time is provided. The ability to inject faults or errors in order to test a reaction of the program to a fault in a particular state and to individually replace access to a regular operand by accessing a shadow operand allow for non-intrusive tests while the program is substantially executed in real-time. The program itself is not substantially altered for testing purposes.