Software Performance Regression Prediction Using Static Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Detecting and predicting performance regression in computing systems is challenging due to the complexity of software and hardware transformations, which can lead to operational inefficiencies and resource misuse, particularly in applications like AI and HPC workloads, making it difficult to identify the root cause and impact on system performance.

Innovation Solution

A system utilizing static analysis metrics and hardware features, combined with application profiling data, builds statistical performance models using machine learning algorithms to predict performance impacts from software modifications, allowing for automated detection and prediction of performance regression without extensive real-world testing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If frequent experimentation and tracking of changes to hardware and software features is performed to detect performance regression, then detection accuracy is improved, but time consumption and cost increase

Engineering Contradiction:
Improveperformance regression detection accuracyVSAvoidtime consumption for detection
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs static analysis on software code before actual execution to extract software features and build performance models in advance. This preliminary action enables the system to predict performance regression without requiring frequent real-world experimentation and tracking, thereby improving detection accuracy while reducing time consumption.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If static analysis and machine learning models are used to predict performance regression, then time consumption is reduced, but measurement precision may deteriorate

Engineering Contradiction:
Improvedetection timeVSAvoidperformance regression detection accuracy
Core Design Contradiction:
Loss of timeVSMeasurement precision

Solution Approach 1:

The system introduces hardware features as an intermediary between static analysis metrics and performance regression detection. By combining software static analysis metrics with hardware features through machine learning models, the system achieves both rapid detection and high accuracy, as hardware features provide additional contextual information that enhances prediction precision.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If extensive real-world testing is performed to detect performance regression, then measurement precision is improved, but productivity decreases

Engineering Contradiction:
Improveperformance regression detection accuracyVSAvoidsoftware development efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system replaces the mechanical process of extensive real-world testing with a computational approach using static analysis and machine learning models. By substituting physical experimentation with algorithmic prediction, the system maintains high detection accuracy while significantly improving software development efficiency and productivity.

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

4Measurement precision

If comprehensive hardware and software monitoring is implemented, then detection accuracy is improved, but device complexity increases

Engineering Contradiction:
Improveperformance regression detection accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system extracts only the most relevant software features and hardware features that have the greatest impact on performance regression. By selectively extracting and analyzing only the critical features rather than monitoring all possible parameters, the system achieves high detection accuracy while minimizing system complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS20260079812A1Detecting and predicting performance regression
Publication Date: 2026.03.19 HEWLETT PACKARD ENTERPRISE DEV LP
  • US20260079812A1 patent drawing
  • US20260079812A1 patent drawing
  • US20260079812A1 patent drawing

AI summary

In certain implementations, a system includes one or more processors and a storage storing a program for execution by the one or more processors. The program includes instructions to parse a software application to extract a semantic structure and derive static analysis metrics; collect application profiling data to detect code regions responsible for performance of the software application; and output, based on metrics of a first transformation of the software application, a variance observed during a performance simulation. The metrics of the first transformation of the software application are derived from the static analysis metrics and the detected code regions responsible for performance of the software application.