Software Regression Detection Using Clustered Test Results

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Detecting performance regressions in software testing is challenging due to the fast-paced nature of software development, variability in test results, and the inefficiency of manual comparisons, which are time-consuming and prone to errors.

Innovation Solution

A computer-implemented method for conducting tests, analyzing results, clustering them, and identifying deviations from expected outcomes to detect regressions, using machine learning techniques like UMAP and HDBSCAN for dimensionality reduction and clustering.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If manual comparison of test results is used to detect performance regressions, then detection capability is maintained, but time consumption and error rate increase significantly

Engineering Contradiction:
Improveregression detection accuracyVSAvoidtime for manual comparison
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent replaces manual mechanical comparison with automated machine learning-based analysis. The system uses clustering algorithms (HDBSCAN, UMAP) to automatically analyze test results and identify performance regressions, eliminating the need for manual comparison while maintaining detection accuracy and significantly reducing time consumption.

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

2Reliability

If comprehensive testing of numerous software versions is conducted, then reliability and functionality coverage improve, but testing efficiency and productivity decrease

Engineering Contradiction:
Improvesoftware reliabilityVSAvoidtesting efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent creates clusters of similar test results using machine learning algorithms. By grouping test configurations with similar performance characteristics into clusters, the system can analyze representative samples rather than every individual test case, maintaining comprehensive coverage while improving testing efficiency through pattern recognition and duplication avoidance.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system dynamically adjusts testing parameters based on detected performance patterns and regressions. By changing test focus based on identified anomalies and using deviation thresholds to prioritize critical cases, the system maintains thorough reliability checking while improving overall testing productivity through adaptive parameter adjustment.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If multiple clustering algorithms are used for test result analysis, then detection accuracy improves, but system complexity increases

Engineering Contradiction:
Improvetest result analysis accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent divides the complex analysis task into segments by employing multiple specialized clustering algorithms (HDBSCAN for density-based clustering, UMAP for dimensionality reduction) that each handle specific aspects of the data. This segmentation allows the system to achieve high detection accuracy through complementary algorithms while managing complexity by assigning specific functions to each algorithm rather than using a single monolithic system.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20250348416A1System and Method for Software Performance Regression Detection and Reporting
Publication Date: 2025.11.13 DELL PROD LP
  • US20250348416A1 patent drawing
  • US20250348416A1 patent drawing
  • US20250348416A1 patent drawing

AI summary

A method and system for software performance regression testing and reporting. A plurality of tests are conducted on a test configuration. Results of each of the plurality of tests are analyzed to render a validity determination for each of the plurality of tests. Based on the validity determinations, a subsequent test to conduct on the test configuration is determined. The subsequent test is conducted on the test configuration, thereby generating a plurality of test results, and the plurality of test results are clustered. Test results deviating from an expected test result are identified based on a deviation threshold, resulting in at least one regression from the expected test result. The test configuration is retested to confirm the occurrence of the at least one regression.