Automated Failure Testing via Domain-Specific Language

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current failure testing methods for computing systems are time-intensive and require manual effort, often failing to identify potential failure scenarios or verify recovery from simulated failures, especially in distributed environments, due to the need for multi-team collaboration and specific technical knowledge.

Innovation Solution

A computer-implemented method and system that uses natural language inputs to define simulated failure scenarios, translating these inputs into executable commands to simulate failures in distributed computing systems, monitor outcomes, and compare them to expected results, generating alerts for discrepancies and enabling automated verification of application recovery.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual failure testing is performed using FMEA methodology with multi-team collaboration, then comprehensive failure scenarios can be identified, but the testing process becomes time-intensive and requires up to five days to complete

Engineering Contradiction:
Improvecomprehensive failure scenario identificationVSAvoidtesting completion time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system pre-generates failure scenarios using automated analysis of system architecture, dependencies, and historical data before actual testing begins. This preliminary generation of test cases eliminates the need for time-consuming manual scenario creation by multiple teams, while still ensuring comprehensive coverage of potential failure modes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

An automated intermediary system acts as a mediator between system components and testers, generating and executing failure scenarios automatically. This intermediary translates system specifications into comprehensive test cases without requiring direct human collaboration for each scenario, significantly reducing testing time while maintaining reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If manual failure testing is performed by personnel from multiple teams, then diverse expertise can be utilized, but the process requires extensive coordination and manual effort

Engineering Contradiction:
Improvemulti-team expertise utilizationVSAvoidcoordination complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The automated testing system incorporates multiple functions within a single platform: scenario generation, test execution, result analysis, and reporting. This universal system replaces the need for coordination between multiple specialized teams, as the automated system performs all these functions independently while still leveraging diverse system knowledge through automated analysis.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system performs self-service by automatically generating failure scenarios based on system architecture analysis, executing tests, and producing reports without requiring manual intervention from multiple teams. The system serves itself by translating system specifications into comprehensive test cases and autonomously managing the entire testing process.

Inventive Principle:
Principle #25Self-service

3Ease of operation

If developers perform FMEA testing independently, then testing can be distributed, but individual developers lack knowledge of conducting complete FMEA tests

Engineering Contradiction:
Improveindependent testing capabilityVSAvoidtesting knowledge requirement
Core Design Contradiction:
Ease of operationVSDifficulty of detecting and measuring

Solution Approach 1:

An automated intermediary system provides developers with independent testing capability by handling the complex FMEA methodology execution. The system mediates between the developer's simple test initiation and the complex automated scenario generation and execution, eliminating the need for developers to possess specialized FMEA knowledge while enabling distributed independent testing.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system replaces the mechanical process of manual FMEA execution with automated computational processes. Instead of requiring developers to manually perform complex failure mode analysis, the system uses automated algorithms to generate and execute comprehensive test scenarios, substituting human expert knowledge with automated intelligence that developers can easily invoke.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS10795793B1Method and system for simulating system failures using domain-specific language constructs
Publication Date: 2020.10.06 INTUIT INC
  • US10795793B1 patent drawing
  • US10795793B1 patent drawing
  • US10795793B1 patent drawing

AI summary

Certain aspects of the present disclosure provide techniques for executing simulated failure scenarios on a computing system using natural language inputs in a domain-specific language. Embodiments includes receiving a failure scenario definition, which may be a natural language input identifying target systems in a distributed computing system, properties, and an expected outcome of a simulated system failure. Commands directed to the identified target systems to simulate a system failure on the identified systems according to the identified properties are generated and transmitted to the identified target systems for execution. The outcome of the simulated system failure is monitored, recorded, and compared to the expected outcome of the simulated system failure. Upon determining that the recorded outcome and expected outcome of the simulated system failure differ, an alert identifying a difference between the recorded outcome and the expected outcome is generated.