Instrumentation Code for Fault Injection Without Infrastructure Damage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional fault injection techniques that create real faults at the infrastructure level often result in damage to infrastructure resources, computational inefficiency, and increased risk to computational resources and services, making them inefficient and risky.
Innovation Solution
The use of instrumentation code to simulate faults at the application layer, allowing for controlled and precise fault injection without damaging underlying infrastructure, using a fault injection agent to generate and insert instrumentation code into software code, thereby simulating faults without affecting the infrastructure.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If real faults are created at the infrastructure level, then fault injection is achieved, but infrastructure resources are damaged and computational efficiency decreases
Solution Approach 1:
The patent creates virtual copies of faults through instrumentation code that simulates fault conditions without physically damaging infrastructure. Instead of creating real faults, the system injects instrumentation code that replicates fault behavior, allowing fault injection testing while preserving the actual infrastructure resources.
Solution Approach 2:
The patent introduces instrumentation code as an intermediary layer between the fault injection mechanism and the infrastructure. This intermediary code captures and simulates fault conditions without directly impacting the underlying infrastructure, thereby maintaining computational efficiency while achieving fault injection objectives.
2Reliability
If real faults are created at the infrastructure level, then fault injection is achieved, but the risk to computational resources increases
Solution Approach 1:
The patent creates virtual representations of faults through instrumentation code that mimics fault conditions without physically compromising computational resources. The instrumentation code captures fault behavior and simulates it in a controlled manner, eliminating the risk associated with creating actual infrastructure faults.
Solution Approach 2:
The patent preemptively protects computational resources by using instrumentation code to simulate faults before any real damage can occur. The instrumentation layer acts as a cushion that absorbs the impact of fault injection, preventing harmful effects from reaching the underlying computational infrastructure.
3Reliability
If real faults are created at the infrastructure level, then fault injection is achieved, but power consumption increases due to dedicated resources
Solution Approach 1:
The patent creates virtual fault conditions through instrumentation code that runs within the existing computational environment, eliminating the need for dedicated physical resources to create real faults. This approach consumes minimal additional power while achieving the same fault injection objectives.
Solution Approach 2:
The instrumentation code serves multiple functions: it enables fault injection testing, preserves infrastructure resources, and consumes minimal computational power. By making the fault injection mechanism multi-functional and software-based, the patent eliminates the need for separate dedicated hardware resources that would increase power consumption.
Data Source
AI summary
In the implementation of techniques for injecting faults by instrumentation code, a system identifies software and one or more fault configuration settings corresponding to faults for fault injection. Based on the fault configuration settings, the system then generates a modified version of the software code by generating instrumentation code via an agent and including the instrumentation code in the software code. The instrumentation code, when executed, is configured to simulate the faults having the fault configuration settings. Upon execution of the modified version of the software code including the instrumentation code by the system, the system simulates the faults as a fault injection. Based on the results of the fault injection, the system generates an outcome of the fault injection for display.


