Software Test Step Reordering for Root Cause Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Identifying and addressing the root cause of errors in software test programs is complex and time-consuming, often leading to delayed validation of bug fixes due to manual reordering of program steps and inefficient allocation of time to high-risk sections.

Innovation Solution

A machine and algorithm that automatically reassign the execution order of program steps based on fail/pass performance during evaluation runs, using a microprocessor to classify, evaluate, and rearrange the position numbers of program steps, prioritizing failing steps for earlier execution in subsequent runs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Difficulty of detecting and measuring

If manual reordering of program steps is performed to identify root causes of errors, then the search for root causes can be conducted, but the process becomes complex and time-consuming

Engineering Contradiction:
Improvedifficulty of detecting root causeVSAvoidtime to identify root cause
Core Design Contradiction:
Difficulty of detecting and measuringVSLoss of time

Solution Approach 1:

The system performs preliminary classification of program steps into high and low priority groups before execution. Failing steps are automatically repositioned to the beginning of the execution sequence in subsequent runs, allowing root cause identification to start with the most problematic areas without manual intervention.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system evaluates the performance of each program step during execution and uses this feedback to automatically reorder steps for the next evaluation run. Steps that fail are identified and repositioned based on their performance metrics, creating a continuous improvement loop that accelerates root cause detection.

Inventive Principle:
Principle #23Feedback

2Productivity

If program steps are manually reordered to prioritize high-risk sections, then time allocation to critical sections can be improved, but the process is inefficient and slow

Engineering Contradiction:
Improvevalidation speed of bug fixesVSAvoidtime for manual reordering
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system automatically performs the reordering of program steps based on their own performance evaluation. Each program step is classified and repositioned autonomously without requiring manual intervention, making the system self-optimizing and significantly reducing the time needed for prioritization.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system changes the execution parameters by dynamically adjusting the position numbers of program steps based on their fail/pass performance. This parameter change automates the prioritization process and accelerates validation of bug fixes by focusing computational resources on the most problematic steps.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If evaluation runs are performed on all program steps in sequential order, then complete coverage is achieved, but critical errors may go unaddressed within time limits

Engineering Contradiction:
Improveerror detection coverageVSAvoidtime to address critical errors
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system segments program steps into high priority and low priority groups based on their performance evaluation. This segmentation allows the system to focus evaluation resources on critical failing steps while maintaining the option to execute lower priority steps, ensuring reliable error detection within time constraints.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The execution order of program steps is made dynamic rather than static. The position numbers are automatically adjusted between evaluation runs based on performance feedback, allowing the system to adaptively prioritize critical errors and maintain high reliability while reducing time to address them.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9003234B2Machine and methods for reassign positions of a software program based on a fail/pass performance
Publication Date: 2015.04.07 INFINEON TECHNOLOGIES AG
  • US9003234B2 patent drawing
  • US9003234B2 patent drawing
  • US9003234B2 patent drawing

AI summary

A machine and methods for reassign the execution order of program steps of a multi-step test program is disclosed. In an embodiment a machine for evaluating an error in a software program includes a microprocessor coupled to a memory, wherein the microprocessor is programmed to evaluate the error by (a) providing program steps of the software program, (b) assigning a position number to each program step, (c) performing an evaluation run on the program steps, (d) evaluating a performance of each program step, (e) rearranging the position number of each program step based on the performance of each program step, and (f) repeating steps (c)-(e).