Software Test Failure Diagnosis via Attribute Elimination

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software developers face challenges in determining which defect causes a test failure in software programs, especially when multiple defects are present and reproducing the failure is difficult due to specific environmental conditions.

Innovation Solution

A system that receives and analyzes defect reports, tests software in a controlled environment, and uses attribute elimination techniques to associate test failures with specific defects by gathering and evaluating attributes from the test environment through provider scripts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If multiple defect reports are stored for a software program, then the system can track more defects, but it becomes more difficult to determine which specific defect caused a test failure

Engineering Contradiction:
Improvenumber of defect reportsVSAvoiddifficulty of determining causality
Core Design Contradiction:
Quantity of substanceVSDifficulty of detecting and measuring

Solution Approach 1:

The patent segments the problem of identifying the root cause by breaking it down into manageable steps: collecting test failure information, gathering defect report information, determining relationships between them, and presenting results. This segmentation allows the system to handle multiple defect reports systematically rather than being overwhelmed by the quantity of data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces an intermediary mechanism - a processor that acts as a mediator between test failures and defect reports. This intermediary analyzes relationships and determines causality, bridging the gap between the test environment and the defect database, thereby resolving the difficulty of identifying which defect caused which failure.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If the system tests software in a controlled test environment with multiple attributes, then testing accuracy improves, but the complexity of managing and evaluating attributes increases

Engineering Contradiction:
Improvetesting accuracyVSAvoidattribute management complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by pre-collecting and storing attribute information from the test environment before analyzing test failures. Attributes such as operating system version, hardware configuration, and software version are gathered in advance and stored for later comparison with defect reports, reducing the complexity of real-time analysis.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies parameter changes by transforming raw test environment data into standardized attributes that can be directly compared with defect report parameters. The system changes the form of data representation to enable systematic matching and relationship determination between test failures and defects.

Inventive Principle:
Principle #35Parameter changes

3Extent of automation

If the system automatically gathers attributes from the test environment, then the diagnosis process is automated, but additional time and resources are required for attribute collection and evaluation

Engineering Contradiction:
Improvediagnosis automationVSAvoidtime for attribute collection
Core Design Contradiction:
Extent of automationVSLoss of time

Solution Approach 1:

The system performs attribute collection as a preliminary action during the testing phase, gathering test environment information before failure analysis begins. This preliminary collection reduces the time required during actual diagnosis, as the data is already available when a failure occurs.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements self-service by automatically gathering attributes from the test environment without requiring manual intervention. The processor autonomously collects, evaluates, and compares attribute data, reducing both time loss and resource requirements compared to manual diagnosis processes.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9959199B2Diagnosis of test failures in software programs
Publication Date: 2018.05.01 ORACLE INT CORP
  • US9959199B2 patent drawing
  • US9959199B2 patent drawing
  • US9959199B2 patent drawing

AI summary

The disclosed embodiments provide a system that facilitates the development and testing of a software program. During operation, the system receives and stores a plurality of defect reports associated with a software program, wherein each defect report documents a previously discovered defect in the software program. In response to detecting a given test failure of the software program while testing the software program in a test environment, the system then eliminates, based on attributes of the test environment that are selected by the defect reports, one or more of the defect reports from the plurality of defect reports, wherein at least one of the selected attributes is retrieved from the test environment during the determination by invoking a provider script that is specified by one of the defect reports. Next, the system associates the test failure with a defect report that remains after the one or more eliminations.