Test Cycle Reduction with Call-Graph-Based Test Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Continuous integration of software involves lengthy and resource-intensive test cycles due to the execution of entire test plans, which waste computing resources and developer time.

Innovation Solution

A system that intelligently selects a subset of tests from a full test plan based on changed or modified code, using a call graph to determine which tests to execute, reducing the number of tests required.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire test plan is executed for each test cycle, then test coverage and reliability are ensured, but test cycle time and computing resource consumption increase significantly

Engineering Contradiction:
Improvetest coverageVSAvoidtest cycle time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The test plan is segmented into individual test cases, and only the relevant subset of tests is executed based on code changes. The system divides the full test plan into selectable units and intelligently chooses which units to run, rather than executing the entire plan every time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of executing the complete test plan (excessive action), the system performs partial testing by selecting only the necessary tests based on code change analysis. This reduces testing effort to the minimum required while maintaining adequate coverage.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If the entire test plan is executed for each test cycle, then all potential defects are detected, but computing resource consumption increases

Engineering Contradiction:
Improvedefect detectionVSAvoidcomputing resource consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The test plan is divided into discrete test cases that can be individually selected for execution. Based on code change analysis, only the segmented tests relevant to changed code are executed, reducing overall computing resource consumption while maintaining effective defect detection.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the execution parameter from 'all tests' to 'selected tests' based on code change detection. By analyzing which code modules were modified, the system dynamically adjusts the test execution scope to match the actual changes, optimizing resource usage.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If the entire test plan is executed, then complete testing is performed, but developer time and productivity are reduced

Engineering Contradiction:
Improvetesting completenessVSAvoiddeveloper time
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs partial testing rather than complete testing by executing only the subset of tests relevant to code changes. This reduces the time developers wait for test results and improves productivity while maintaining sufficient testing completeness for the changed code.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system performs preliminary analysis of code changes to determine which tests need to be executed before actually running the tests. This preliminary action filters out unnecessary tests and allows developers to understand the testing scope in advance, reducing overall time consumption.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12399806B2Test cycle time reduction and optimization
Publication Date: 2025.08.26 HARNESS INC
  • US12399806B2 patent drawing
  • US12399806B2 patent drawing
  • US12399806B2 patent drawing

AI summary

A system that automatically reduces test cycle time to save resources and developer time. The present system selects a subset of tests from a full test plan that should be selected for a particular test cycle, rather than running the entire test plan. The subset of tests is intelligently selected using metrics such as tests associated with changed code and new and modified tests.