Microservice Breaking Change Resolution Using Learned Remedial Actions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Manual processes for resolving breaking changes in microservice-based software applications are inefficient, leading to prolonged downtime and increased costs due to the need for human intervention and suboptimal remedial actions.
Innovation Solution
A machine learning model is trained using self-supervised learning from historical test and management action data to automatically predict and apply the most likely remedial actions for breaking changes, eliminating the need for human intervention.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If manual processes are used to resolve breaking changes, then human expertise can handle complex situations, but the resolution time increases and downtime is prolonged
Solution Approach 1:
The system enables automated self-resolution of breaking changes through a machine learning model that autonomously analyzes test failures, identifies root causes, and applies remedial actions without human intervention. The model learns from historical data to independently resolve issues, reducing both downtime and reliance on manual processes.
Solution Approach 2:
The system performs preliminary analysis and prediction of breaking changes by continuously monitoring test results and learning from historical patterns. The machine learning model is pre-trained on extensive historical data to predict and prepare remedial actions before actual breaking changes occur, enabling faster response times.
2Reliability
If manual intervention is used for resolving breaking changes, then complex cases can be handled with human judgment, but the cost of human resources increases
Solution Approach 1:
The system automates the resolution process using a machine learning model that independently analyzes test failures and applies fixes without requiring human intervention. This self-service capability eliminates the need for continuous human monitoring and reduces resource costs while maintaining resolution quality through learned patterns from historical data.
Solution Approach 2:
The patent replaces manual human processes with an automated machine learning-based system. The ML model substitutes human analysts by automatically detecting breaking changes, analyzing root causes, and applying remedial actions, thereby reducing dependency on human resources while maintaining or improving resolution effectiveness.
3Productivity
If automated processes are implemented for resolving breaking changes, then response time is reduced, but the system complexity increases
Solution Approach 1:
The machine learning model serves multiple functions within a single unified system: it monitors test results, analyzes failure patterns, identifies root causes, predicts breaking changes, and applies remedial actions. This multi-functional approach consolidates what would otherwise require multiple separate systems, managing complexity while maintaining high productivity.
Solution Approach 2:
The machine learning model acts as an intermediary between test failure detection and remedial action application. It processes raw test data, learns from historical patterns, and translates failures into appropriate remedial actions, thereby simplifying the overall system architecture while enabling automated high-speed resolution.
4Measurement precision
If historical data is used for training, then the model learns from real patterns, but the data processing and storage requirements increase
Solution Approach 1:
The system extracts only the essential and relevant features from historical test data and failure patterns for training the machine learning model. By focusing on critical patterns rather than processing all raw data, the system achieves high prediction accuracy while reducing the computational burden and storage requirements associated with handling complete historical datasets.
Data Source
AI summary
A method for resolving breaking changes in a software system. The method includes generating a training dataset of training examples by: collecting data associated with test results of tests configured to identify breaking changes in the software system and executed management actions; storing the collected test results data; storing the collected management action data; parsing the stored content and identifying failed test data and management action data relevant to a given failed test for identification as a training example. The method continues by training a machine learning model using the training examples included in the training dataset and then using the trained machine learning model to predict recommended management actions by: detecting a present failed test; determining failed test data; providing the failed test data to the trained machine learning model for generating therewith the recommended management actions.


