Test Case Generation Using Previous Test Case Reuse

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional test case generation methods for embedded real-time software are inefficient, particularly when dealing with multiple steps, as they often result in prolonged processing times due to increased complexity and state variations, making it impractical to generate comprehensive test cases within a reasonable timeframe.

Innovation Solution

A test case generation apparatus that utilizes a memory-based system to store and reuse previous test cases, employing either non-symbolic or symbolic execution to generate subsequent test cases by joining existing test cases with new ones, thereby reducing the number of steps required for analysis and improving processing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If bounded model checking is used to perform first-time and subsequent analyses until maximum step number is reached, then test case generation can be performed systematically, but test case generation time period increases and may fall outside practical time period

Engineering Contradiction:
Improvetest case generation completenessVSAvoidtest case generation time period
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the test case generation process into first-time analysis and subsequent analysis phases. The first-time analysis performs comprehensive bounded model checking to establish baseline coverage, while subsequent analyses reuse previously determined information to avoid redundant computations. This segmentation allows the system to maintain reliability while reducing overall generation time by not repeating the same analysis work multiple times.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary analysis during the first-time execution to determine execution paths, state transitions, and coverage information. These preliminary results are stored and reused in subsequent analyses, eliminating the need to recompute the same information. This preliminary action significantly reduces the time required for repeated test case generation while maintaining comprehensive coverage.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the number of steps is incremented to cover more requirements and branches, then test coverage is improved, but the number of states subject to bounded model checking increases and generation time increases

Engineering Contradiction:
Improvetest coverageVSAvoidtest case generation efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent copies and reuses execution path information, state transition data, and coverage results from previous analysis executions. Instead of performing bounded model checking from scratch for each incremented step number, the system copies relevant information from prior analyses and builds upon it. This copying mechanism maintains comprehensive test coverage while significantly improving generation efficiency by avoiding redundant analysis of already-explored state spaces.

Inventive Principle:
Principle #26Copying

3Reliability

If manual test case creation is performed to ensure comprehensive coverage, then test quality is maintained, but the number of man-hours increases significantly

Engineering Contradiction:
Improvetest qualityVSAvoidman-hours for test case creation
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements an automated system that performs test case generation independently without requiring manual intervention for each test case. The system self-services by automatically performing bounded model checking, determining execution paths, generating test cases, and verifying coverage. This self-service capability maintains high test quality through systematic analysis while eliminating the significant man-hours that would be required for manual test case creation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the mechanical process of manual test case creation with an automated computational system based on bounded model checking and symbolic execution. This substitution transforms the manual, time-consuming process into an automated system that can generate comprehensive test cases rapidly while maintaining or improving quality through systematic exploration of all possible execution paths.

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

Data Source

PatentUS11994977B2Test case generation apparatus, test case generation method, and computer readable medium
Publication Date: 2024.05.28 MITSUBISHI ELECTRIC CORP
  • US11994977B2 patent drawing
  • US11994977B2 patent drawing
  • US11994977B2 patent drawing

AI summary

If an (i−1)-th test case which is a test case for step 1 to step (i−1) is stored, a generation control unit (130) selects a first generation scheme (M1) which uses the (i−1)-th test case to generate an i-th test case which is a test case for step 1 to step i. A test generation unit (170) generates a test case for executing an i-th step in a state where an internal state at an end of the (i−1) steps caused by execution for the (i−1)-th test case is retained, in accordance with the first generation scheme (M1). The test generation unit (170) generates the i-th test case by joining the (i−1)-th test case and the test case for the i-th step.