Multi-Modal Neural Network Predicting Software Update Failures
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Complex computer systems face challenges in predicting system-wide failures due to software updates, as changes to one code block can affect multiple interdependent blocks, making it difficult for developers to anticipate and prevent failures.
Innovation Solution
A multi-modal neural network is trained using machine learning algorithms to predict the probability of system failures by combining feature information from connectivity maps, history maps, activity maps, complexity maps, social maps, sentiment analysis, and failure maps.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If a tracing tool is used to provide a clear view of service architecture and interconnection, then developers can understand system connectivity, but the tool does little to warn developers that an update to a particular section of code will cause the system to fail
Solution Approach 1:
The patent segments the code base into multiple code blocks and creates separate connectivity maps for each code block. This segmentation allows the system to track interconnections between specific code blocks and predict failures more accurately when updates are made to individual sections, rather than treating the entire system as a monolithic unit.
Solution Approach 2:
The patent performs preliminary analysis by generating connectivity maps and identifying dependent code blocks before software updates are applied. This preliminary action enables the system to predict potential failures in advance, allowing developers to take preventive measures before deploying updates that could cause system-wide failures.
2Reliability
If senior developers use available information to gain understanding of the system and determine what changes may cause crashes, then they can make informed decisions, but this process is time-consuming and requires extensive expertise
Solution Approach 1:
The patent implements a self-service system where the computational analysis is automated. The system automatically generates connectivity maps, identifies dependent code blocks, and predicts potential failures without requiring manual analysis by developers. This self-service approach significantly reduces the time and expertise required while maintaining high reliability in failure prediction.
Solution Approach 2:
The patent replaces the manual mechanical process of developer analysis with an automated computational system. Machine learning models and algorithms automatically process code base information, generate predictions, and provide warnings to developers, substituting human cognitive effort with automated mechanical processing that is both faster and more consistent.
3Reliability
If developers manually analyze code interdependencies to prevent system failures, then they can identify potential issues, but this approach is difficult and error-prone in complex code bases
Solution Approach 1:
The patent introduces an intermediary system that acts as a mediator between the complex code base and the developers. This intermediary automatically analyzes code interdependencies, generates connectivity maps, and provides simplified failure predictions to developers. This intermediary handles the complexity of code analysis internally while presenting simplified, actionable information to users.
Solution Approach 2:
The patent creates simplified copies or representations of the complex code base in the form of connectivity maps and dependency graphs. These copies capture the essential interrelationships between code blocks without requiring developers to navigate the full complexity of the original code base, making analysis more manageable and less error-prone.
Data Source
AI summary
A device and method for predicting a system failure from update data comprising two or more unimodal modules configured to determine feature information regarding an update to a code section. A neural network is trained with a machine learning algorithm to predict a system failure probability for the code update data that modifies the code section. The trained neural network is provided with the feature information from the two or more unimodal modules.


