Tool Output Salvage Through Early Termination and Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional software tools that use randomization, such as test case generators, often fail after a long execution time, resulting in the loss of accumulated data, as there is no mechanism to predict and mitigate failures effectively.

Innovation Solution

A method that continuously checks for predefined conditions during tool execution, injecting a control statement to terminate the process and salvage incomplete outputs, ensuring data validity and finalization, without requiring changes to existing inputs, and records decisions for future runs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If random test data generation is used to create test cases, then test coverage can be achieved, but the tool may fail after long execution time resulting in loss of accumulated data

Engineering Contradiction:
Improvetest generation reliabilityVSAvoidaccumulated test data
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The system performs preliminary actions by continuously monitoring execution conditions and predicting potential failures before they occur. It establishes termination conditions and validation mechanisms in advance, allowing it to salvage test data proactively rather than reacting after failure occurs.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms by continuously checking whether termination conditions are met during tool execution. It monitors the tool's output and execution state, providing real-time feedback that enables dynamic decision-making about whether to continue or terminate the run to preserve valid test data.

Inventive Principle:
Principle #23Feedback

2Productivity

If the tool runs for extended periods to generate comprehensive test cases, then test coverage improves, but the risk of failure and data loss increases

Engineering Contradiction:
Improvetest case generation outputVSAvoidexecution stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system defines termination conditions and validation criteria in advance before the tool executes. This preliminary setup allows it to balance extended execution for better test coverage against the risk of failure, by having pre-established rules for when to terminate and how to validate salvaged outputs.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts execution parameters by monitoring tool output and execution state. It can change the execution state from continuous running to terminated based on monitored parameters, allowing it to optimize between test coverage and execution stability by adapting to actual tool performance.

Inventive Principle:
Principle #35Parameter changes

3Loss of information

If the tool is terminated early to prevent failure, then data loss is prevented, but incomplete test cases may be generated

Engineering Contradiction:
Improvetest data preservationVSAvoidtest case completeness
Core Design Contradiction:
Loss of informationVSManufacturing precision

Solution Approach 1:

The system converts the potential harm of incomplete test cases into a benefit by implementing a validation mechanism. Instead of simply accepting or rejecting incomplete outputs, it validates them to determine if they meet quality thresholds, transforming the problem of early termination into an opportunity for quality-controlled data salvage.

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

Solution Approach 2:

The system changes the state of incomplete outputs from invalid to valid through the validation process. By applying validation rules and potentially modifying or augmenting incomplete test cases, it transforms them into usable test data, thereby improving completeness while maintaining the benefit of early termination.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11487276B2Salvaging outputs of tools
Publication Date: 2022.11.01 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11487276B2 patent drawing
  • US11487276B2 patent drawing
  • US11487276B2 patent drawing

AI summary

A method of salvaging an output is provided. The method includes defining a condition for terminating a run of a tool, checking whether the condition is likely to be met during a running of the tool, terminating the running in an event the condition is likely to be met, checking a validity of an incomplete output of the tool generated during the running and finalizing the incomplete output in an event the incomplete output is valid.