Software Performance Regression Bisection Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software performance regressions are challenging to localize due to the time-consuming and heuristic nature of existing bisection methods, which require numerous performance tests and are sensitive to baseline selection, leading to inefficiencies in identifying the bug-introducing commit.

Innovation Solution

A computer system and method that compares performance measures between software versions to determine a shift in distribution, calculates an effectiveness measure for bisection, and selects the most effective baseline value to maximize the accuracy of identifying the commit causing the performance regression, using probabilistic analysis to optimize the bisection process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If bisection is performed to localize performance regressions, then the ability to identify the bug-introducing commit is improved, but the time and resources required increase significantly due to numerous performance tests needed

Engineering Contradiction:
Improvecommit identification accuracyVSAvoidbisection execution time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary analysis of performance measure distributions across multiple software versions before executing the full bisection process. By pre-calculating statistical properties (mean, standard deviation) and assessing distribution shifts, the system identifies promising baseline candidates in advance, reducing the number of iterative tests needed during actual bisection execution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces the traditional mechanical trial-and-error bisection approach with a statistically-driven methodology. Instead of blindly testing midpoints and adjusting baselines through repeated iterations, the system uses distribution analysis, probability calculations, and statistical significance testing to directly identify optimal baselines and predict effective bisection paths, substituting computational statistics for mechanical searching.

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

2Device complexity

If traditional bisection methods are used, then the process is simpler to implement, but the reliability of correct commit identification decreases due to heuristic nature

Engineering Contradiction:
Improvebisection method simplicityVSAvoidcommit identification correctness
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent introduces feedback mechanisms where the system continuously evaluates the effectiveness of the current baseline by analyzing whether performance measure distributions show statistically significant shifts at tested commits. This feedback drives iterative refinement of the baseline selection, allowing the system to learn from each bisection step and adjust the baseline to improve identification reliability while maintaining a structured approach.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent dynamically changes the baseline parameter throughout the bisection process based on statistical analysis of performance distributions. Instead of using a fixed or arbitrarily chosen baseline, the system adjusts the baseline value to maximize its effectiveness in detecting distribution shifts, transforming a static parameter into a dynamic one that adapts to the specific characteristics of the performance regression being investigated.

Inventive Principle:
Principle #35Parameter changes

3Ease of manufacture

If baseline selection is arbitrary or fixed, then the method is easier to implement, but the accuracy of performance regression detection decreases

Engineering Contradiction:
Improvemethod implementation easeVSAvoidperformance regression detection accuracy
Core Design Contradiction:
Ease of manufactureVSMeasurement precision

Solution Approach 1:

The patent performs preliminary analysis of performance measure distributions across multiple software versions before executing the full bisection process. By pre-calculating statistical properties (mean, standard deviation) and assessing distribution shifts, the system identifies promising baseline candidates in advance, reducing the number of iterative tests needed during actual bisection execution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent dynamically changes the baseline parameter throughout the bisection process based on statistical analysis of performance distributions. Instead of using a fixed or arbitrarily chosen baseline, the system adjusts the baseline value to maximize its effectiveness in detecting distribution shifts, transforming a static parameter into a dynamic one that adapts to the specific characteristics of the performance regression being investigated.

Inventive Principle:
Principle #35Parameter changes

4Reliability

If numerous performance tests are conducted to achieve statistical significance, then the reliability of regression detection is improved, but the productivity of the development process decreases

Engineering Contradiction:
Improveregression detection confidenceVSAvoidsoftware development speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs preliminary analysis of performance measure distributions across multiple software versions before executing the full bisection process. By pre-calculating statistical properties (mean, standard deviation) and assessing distribution shifts, the system identifies promising baseline candidates in advance, reducing the number of iterative tests needed during actual bisection execution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies statistical significance testing selectively rather than uniformly across all bisection steps. The system performs comprehensive statistical analysis at critical decision points (baseline selection, distribution shift detection) while using lighter-weight comparisons for routine bisection steps, achieving sufficient statistical confidence without the overhead of exhaustive testing at every stage.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS20230077774A1Effectiveness Analysis For Performance Regression Bisection
Publication Date: 2023.03.16 SAP SE
  • US20230077774A1 patent drawing
  • US20230077774A1 patent drawing
  • US20230077774A1 patent drawing

AI summary

Performance regressions can have a drastic impact on the usability of a software application. The crucial task of localizing such regressions can be achieved using bisection, which attempts to find the bug-introducing commit using binary search. However, a bisection is not always accurate or effective. An effectiveness measure for performing a bisection may be determined based on a first probability that a shift in distribution of performance measures of a plurality of versions of the software occurs at a particular version of the software given that a bisection would identify that particular version of the software as having the performance regression. Also, a baseline value that maximizes the effectiveness measure may be determined. Accordingly, bisection may be used if it would be effective and it may be performed using an effective baseline value.