Fault Injection Prioritization via Application Characteristic Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing chaos testing methods rely on arbitrary or subjective fault injection, failing to consider unique application characteristics, leading to sub-optimal test coverage and inadequate resilience testing due to the immense chaos-test space and irrelevant faults.

Innovation Solution

Perform offline application analysis to identify component characteristics, generate fault-service pairs with absolute outcomes, and prioritize faults using machine learning to focus on likely faults, optimizing test coverage and ensuring critical components are thoroughly tested.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If arbitrary or subjective fault injection is used, then chaos testing can be performed, but test coverage is sub-optimal and resilience testing is inadequate

Engineering Contradiction:
Improveresilience testing qualityVSAvoidtest coverage efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs offline application analysis before actual fault injection to identify component characteristics, critical services, and suitable faults. This preliminary profiling enables informed fault selection during testing, improving both reliability of resilience testing and productivity of test coverage without requiring arbitrary fault choices

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes the approach from arbitrary fault selection to parameter-driven fault selection by analyzing application characteristics such as resource usage patterns, service criticality, and component dependencies. These parameters are used to objectively determine which faults to inject, resolving the contradiction between testing quality and efficiency

Inventive Principle:
Principle #35Parameter changes

2Reliability

If comprehensive fault injection is performed to ensure thorough testing, then test coverage improves, but the number of test cases increases significantly

Engineering Contradiction:
Improveresilience testing qualityVSAvoidnumber of test cases
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

Instead of uniformly testing all possible faults, the system applies local quality by tailoring fault selection to specific component characteristics. Each service is analyzed individually to identify its critical resources and likely failure modes, resulting in targeted fault injection that reduces the overall number of test cases while maintaining comprehensive coverage of critical paths

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system uses partial action by focusing fault injection on the most critical services and most likely faults identified through offline analysis. Rather than exhaustively testing all possible faults, the system selectively tests a curated subset that provides sufficient coverage for resilience validation, reducing test case quantity while maintaining adequate reliability testing

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If offline application analysis and machine learning prioritization are performed, then fault selection is optimized, but analysis time and computational resources increase

Engineering Contradiction:
Improvefault selection efficiencyVSAvoidoffline analysis time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs the time-consuming offline application analysis and machine learning model training during development or deployment windows rather than during operational testing. This preliminary action captures application characteristics and builds prioritization models in advance, enabling rapid fault selection during actual chaos testing without significantly impacting testing throughput

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20240385950A1Fault injection optimization using application characteristics under test
Publication Date: 2024.11.21 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20240385950A1 patent drawing
  • US20240385950A1 patent drawing
  • US20240385950A1 patent drawing

AI summary

A method for fault injection optimizations is presented including performing offline application analysis to identify different characteristics of various components of an application, determining faults that are suitable for each component by profiling resource characteristics, analyzing an application topology to identify critical services that are essential to an overall functioning of the application, generating fault-service pairs that have an absolute outcome, assigning priorities to the fault-service pairs, by machine learning, to prioritize which of the faults are injected into the application, and injecting the prioritized faults into the application to induce chaos to the application during controlled testing experiments.