Continuous Integration Test Prioritization via Association Rule Mining

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional technologies fail to rank and prioritize test cases effectively, leading to delayed detection of failures in software testing, especially when resources are limited, and do not leverage adaptive association rule mining techniques to identify relevant test cases dynamically.

Innovation Solution

A test selection and prioritization system that mines a test case repository to identify relationships between test cases, using association rule mining algorithms like Apriori, to create dynamic execution plans that prioritize test cases likely to fail early, iteratively updating based on execution results.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all test cases are executed according to a static test case execution plan, then complete test coverage is achieved, but test execution time increases and failure detection is delayed

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

Solution Approach 1:

The patent transforms the static test case execution plan into a dynamic one by continuously mining relationships between test cases based on execution results. The system adapts the execution plan in real-time by identifying co-failing test cases and adjusting priorities, allowing the test suite to evolve from a fixed sequence to a flexible, data-driven execution strategy that optimizes both coverage and time efficiency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements feedback loops by analyzing execution results of test cases and using this information to dynamically adjust the test case execution plan. The mining process continuously feeds back relationship patterns between test cases, enabling the system to learn from past executions and improve future test scheduling, thereby reducing redundant executions and accelerating failure detection.

Inventive Principle:
Principle #23Feedback

2Ease of operation

If test cases are executed in arbitrary order, then execution simplicity is maintained, but failure detection timing is delayed

Engineering Contradiction:
Improveexecution simplicityVSAvoidfailure detection time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system performs preliminary mining of test case relationships before execution to establish an optimized execution order. By pre-identifying co-failing test cases and their relationships based on historical execution data, the system prepares a prioritized execution plan that ensures failures are detected as early as possible without requiring complex real-time analysis during execution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces the mechanical, arbitrary ordering of test cases with an intelligent, data-driven ordering system. Instead of using simple sequential or random execution, the system employs association rule mining algorithms to automatically determine optimal execution sequences based on learned relationships between test cases, substituting brute-force simplicity with algorithmic intelligence.

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

3Device complexity

If static test case execution plans are used, then system complexity is reduced, but adaptability to software changes is poor

Engineering Contradiction:
Improvesystem complexityVSAvoidadaptability to software changes
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The system enables self-service by automatically mining test case relationships and generating optimized execution plans without requiring manual intervention. The mining process autonomously analyzes execution results, identifies patterns between test cases, and adjusts the execution plan accordingly, allowing the system to adapt to software changes independently while maintaining manageable complexity through automation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent dynamically changes the execution plan parameters based on mined relationships between test cases. Instead of using a fixed execution sequence, the system adjusts execution priorities, selection criteria, and ordering based on learned patterns from historical data, enabling flexible adaptation to software changes while keeping the underlying mining mechanism reusable across different scenarios.

Inventive Principle:
Principle #35Parameter changes

4Quantity of substance

If conventional test selection methods are used, then resource requirements are minimized, but testing efficiency is reduced

Engineering Contradiction:
Improveresource requirementsVSAvoidtesting efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The system applies partial action by selectively executing only the most relevant test cases based on mined relationships rather than running the entire test suite. By identifying co-failing test cases and prioritizing those with higher failure probability, the system executes a subset of test cases that provides maximum testing value with minimal resource consumption, avoiding unnecessary executions of low-risk test cases.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS20250335339A1Dynamic test selection and prioritization using association rule mining for continuous integration
Publication Date: 2025.10.30 DELL PROD LP
  • US20250335339A1 patent drawing
  • US20250335339A1 patent drawing
  • US20250335339A1 patent drawing

AI summary

Methods, system, and non-transitory processor-readable storage medium for a test selection and prioritization system are provided herein. An example method includes mining, by the system, a test case repository comprising test cases and execution results, to identify relationships between test cases based on the execution of the test cases according to a test case execution plan. The system creates a first test case execution plan comprising a first subset of the test cases based on the identified relationships. A test management system executes the first subset of the test cases according to the first test case execution plan on at least one test system. The system assesses results of the execution of the first subset to identify a second test case execution plan, where the second test case execution plan results in test execution failures occurring earlier than test cases executed according to the test case execution plan.