Automated Software Regression Recovery via Root Cause Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Batch software updates in cloud computing environments often result in software regression, making it difficult to identify and revert the offending code changes due to numerous dependencies, leading to prolonged system degradation and unnecessary removal of beneficial changes.

Innovation Solution

A system and method that automatically detect and mitigate software regression by analyzing telemetry data and using automated root cause analysis to identify and rollback offending code changes, involving a resolution server, event listener server, and root cause analyzer to determine relevancy scores and perform mitigation actions based on change lists.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If batch software updates are applied to add features and correct errors, then system functionality and user experience are improved, but software regression and system performance degradation occur

Engineering Contradiction:
Improvesystem functionalityVSAvoidsoftware regression
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary actions by establishing baseline performance metrics before batch updates are applied. Telemetry data is collected and stored as a reference point, enabling automatic comparison after updates to detect regressions early before they propagate through the system

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements continuous feedback loops by monitoring telemetry data after updates are applied. Performance metrics are automatically compared against baselines, and when regressions are detected, the system triggers automated root cause analysis and mitigation actions, creating a closed-loop control system that continuously improves reliability

Inventive Principle:
Principle #23Feedback

2Measurement precision

If manual analysis of log files and exception traces is performed to identify offending code changes, then accurate root cause identification is achieved, but significant time is lost and system degradation continues

Engineering Contradiction:
Improveroot cause identification accuracyVSAvoidregression resolution time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system enables self-service by automatically detecting regressions through telemetry monitoring and performing self-diagnosis through automated root cause analysis. The system independently identifies offending code changes by analyzing telemetry data patterns without requiring manual intervention, thereby eliminating time losses while maintaining high identification accuracy

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system replaces the mechanical process of manual log file analysis with automated computational analysis. Machine learning models and algorithms automatically process telemetry data, exception traces, and log files, substituting human analytical efforts with automated systems that achieve both high precision and rapid execution

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

3Reliability

If entire batch update is reverted to stop regression, then system performance is quickly restored, but many beneficial code changes are needlessly removed

Engineering Contradiction:
Improvesystem performance restorationVSAvoidsoftware update effectiveness
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system applies segmentation by dividing the batch update into individual code change components. Through automated root cause analysis, it identifies and isolates only the specific code changes causing regression, allowing selective reversion of problematic segments while preserving beneficial changes, thus maintaining both system reliability and update productivity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system extracts and isolates the offending code changes from the batch update using automated analysis of telemetry data and exception traces. By extracting only the problematic components, the system enables targeted mitigation actions that remove harmful changes while retaining beneficial ones, avoiding the need to revert entire batch updates

Inventive Principle:
Principle #2Taking out (Extraction)

4Loss of time

If automated detection and mitigation systems are implemented, then regression resolution time is reduced and user experience is improved, but system complexity and computational resource requirements increase

Engineering Contradiction:
Improveregression resolution timeVSAvoidsystem architecture complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system implements multi-functionality by designing automated components that perform multiple functions. The telemetry monitoring system simultaneously collects performance data, detects regressions, and triggers analysis workflows. The root cause analyzer both identifies problems and recommends mitigations, reducing the need for separate specialized systems and managing complexity through consolidated multi-functional components

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11625315B2Software regression recovery via automated detection of problem change lists
Publication Date: 2023.04.11 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11625315B2 patent drawing
  • US11625315B2 patent drawing
  • US11625315B2 patent drawing

AI summary

Systems and methods for automatically recovering from software regression in a cloud computing environment. One example method includes determining, with an electronic processor, that a batch software update has been applied to the cloud computing environment. The method includes, in response to determining that a batch software update has been applied, transmitting a problem request to an event listener server. The method includes receiving, from the event listener server, a problem statement including a stack trace. The method includes determining, based on the stack trace, a software feature indicator. The method includes transmitting the software feature indicator to a root cause analyzer. The method includes receiving, from the root cause analyzer, a change list indicator and a relevancy score associated with the change list indicator. The method includes performing a mitigation action based on the change list indicator when the relevancy score exceeds a relevancy threshold.