Fault Localization via Augmented Combinatorial Test Case Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Combinatorial Test Design (CTD) methods require additional processing power for test generation and fault localization after a bug is discovered, as tests are generated post-bug detection, leading to inefficiencies in identifying fault-causing attribute-value pairs.

Innovation Solution

A computer-implemented method that generates and augments test cases by locating missing counterparts for attribute-value pairs, modifying test cases to act as counterparts, and adding them to the set, while ensuring compliance with predefined constraints, to identify faults in a system under test.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If test cases are generated after bug discovery using CTD, then fault localization capability is improved, but processing power and time consumption increase

Engineering Contradiction:
Improvefault localization capabilityVSAvoidprocessing power
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent applies preliminary action by generating counterpart test cases in advance before bug discovery. The system creates a comprehensive test suite including both original and counterpart test cases, so that when a bug is found, the fault localization can immediately utilize the pre-generated counterpart cases without requiring additional processing power for test generation.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If additional test cases are generated for fault localization, then fault identification accuracy is improved, but test execution time increases

Engineering Contradiction:
Improvefault identification accuracyVSAvoidtest execution time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies local quality by selectively generating counterpart test cases only for specific attribute-value pairs that are suspected of causing the bug, rather than generating all possible test cases. This targeted approach improves fault identification accuracy for the specific faulty region while minimizing the overall test execution time by focusing resources locally on the problematic area.

Inventive Principle:
Principle #3Local quality

3Reliability

If comprehensive test coverage is achieved through CTD, then bug detection capability is improved, but device complexity increases

Engineering Contradiction:
Improvebug detection capabilityVSAvoidtest suite complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the test suite into original test cases and counterpart test cases, where each counterpart is specifically designed to isolate and test particular attribute-value pairs. This segmentation allows comprehensive bug detection capability while managing complexity by organizing tests into logical groups with specific purposes, making the overall test suite more structured and maintainable.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20240427694A1Fault localization using double n-wise combinatorial testing with constraints
Publication Date: 2024.12.26 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20240427694A1 patent drawing
  • US20240427694A1 patent drawing
  • US20240427694A1 patent drawing

AI summary

A computer-implemented method, in accordance with one embodiment, includes generating a set of test cases for a system under test (SUT). The set of test cases is augmented by locating a missing counterpart for a first combination of values in a first test case based on identifying a number of instances of the first combination of values in the set of test cases, generating a new test case based on modifying the first test case to act as the missing counterpart, determining whether the new test case violates a constraint from a set of predefined constraints, in response to determining that the new test case violates the constraint, modifying at least one of the values in the new test case, and adding the modified new test case to the set of test cases. A fault for the SUT is identified based on executing the augmented set of test cases.