Software Failure Nexus Determination via ML Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software systems for smartphones and other networked devices often fail to diagnose the root cause of software failures effectively, leading to user dissatisfaction and inefficient bug fixing, as they lack comprehensive analysis of operational variations and external conditions that contribute to crashes and errors.
Innovation Solution
The system determines 'nexus' data by using a machine-learning model to analyze execution-related data, identifying underlying causes of software failures, such as memory depletion, network connectivity issues, or battery insufficiency, allowing for quicker bug identification and resolution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If traditional software failure analysis methods are used, then the system is simple and easy to implement, but the diagnostic accuracy and ability to identify root causes is insufficient
Solution Approach 1:
The patent introduces a computational model as an intermediary between execution-related data and nexus determination. This model processes execution features and operational variations to identify root causes, acting as a mediator that transforms raw data into actionable diagnostic insights without requiring complex manual analysis procedures
Solution Approach 2:
The patent replaces traditional mechanical/manual software debugging processes with an automated computational model that uses machine learning algorithms. This substitution eliminates the need for manual code inspection and hypothesis testing, achieving higher diagnostic accuracy through automated pattern recognition in execution data
2Reliability
If comprehensive analysis of operational variations and external conditions is performed, then the ability to identify root causes improves, but the time and resources required for analysis increase
Solution Approach 1:
The patent performs preliminary analysis by collecting and processing execution-related data during normal software operation. The computational model pre-processes this data to identify patterns and relationships between operational variations and failures, so that when a crash occurs, the root cause can be rapidly determined from pre-computed nexus information rather than analyzing all data from scratch
Solution Approach 2:
The patent transforms comprehensive operational data into simplified execution features that capture essential characteristics of software behavior. By changing parameters from raw operational variations to condensed execution features, the system maintains high diagnostic accuracy while reducing the computational burden and analysis time required
3Loss of information
If detailed nexus data is collected and analyzed, then crash reports become more informative for developers, but the data processing and storage requirements increase
Solution Approach 1:
The patent extracts only the most relevant information from comprehensive execution data to form execution features that are input to the computational model. This extraction process isolates critical nexus information needed for bug identification while discarding redundant data, providing developers with concise yet informative crash reports that contain actionable insights without overwhelming data volumes
Data Source
AI summary
A nexus of a software failure can be determined. A feature module can determine execution features based at least in part on particular execution-related data. An analysis module can determine particular nexus data based at least in part upon a stored computational model and the determined execution features. In some examples, a communications module receives the particular execution-related data and transmits the determined particular nexus data via the communications interface. In some examples, a modeling module determines the computational model based at least in part on training data including execution features of a plurality of execution-related data records and respective nexus data values. Some examples include executing a program module, transmitting execution-related data of the program module, receiving a nexus data value, and executing the program module again if the nexus is a condition external to the program module.


