Automated Root Cause Detection via Data Flow Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Detecting and determining the root cause of errors in software can be difficult, time-consuming, and expensive, often resulting in workarounds that do not fully address the issue, potentially leading to future problems.
Innovation Solution
An automated root cause detection system that includes a client system, database server, and root cause detection system components such as service executor, analyzer, and comparator, which perform data flow analysis and path execution services to identify code components contributing to errors by executing different versions of code components and comparing results.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If manual methods are used to detect and determine the root cause of errors in software, then detailed analysis can be performed, but the process becomes time-consuming and expensive
Solution Approach 1:
The patent replaces manual mechanical analysis methods with automated computer-based data flow analysis. The system automatically executes code components, collects data flow information, and identifies root causes without human intervention, thereby maintaining high detection accuracy while dramatically reducing the time required for error analysis.
Solution Approach 2:
The system enables self-service error detection by automatically analyzing data flow through code components. The automated execution and comparison of data flow information allows the system to identify root causes independently without requiring manual intervention, thus reducing both time and cost while preserving analytical depth.
2Reliability
If comprehensive testing is performed before software delivery to detect all errors, then error detection accuracy improves, but the complexity and cost of the testing process increases
Solution Approach 1:
The patent extracts the specific function of root cause detection from the overall software testing process. By focusing data flow analysis specifically on identifying root causes of detected errors rather than performing exhaustive comprehensive testing, the system achieves high reliability in error detection while reducing the complexity of the testing process.
Solution Approach 2:
The system changes the parameter of analysis from comprehensive functional testing to targeted data flow analysis. By monitoring and comparing data flow parameters (variable values, data transformations) through code components, the system achieves effective error detection with reduced testing complexity and faster execution.
3Productivity
If workarounds are provided instead of solving the root cause, then immediate symptom relief is achieved, but the underlying issue remains unsolved leading to future problems
Solution Approach 1:
The system performs preliminary identification of root causes before workarounds are implemented. By automatically detecting and reporting the actual source of errors through data flow analysis, the system enables developers to address the fundamental issue directly rather than applying temporary fixes, thus ensuring long-term software stability while maintaining productivity.
Data Source
AI summary
Disclosed herein are system, method, and computer program product embodiments for error root cause detection. An embodiment operates by a computer implemented method that includes receiving, by at least one processor, a request to determine a root cause of an error associated with a code and executing a first execution path and a second execution path, where the first and second execution paths correspond to the code. The method further includes determining whether a difference between first data generated by the execution of the first execution path and second data generated by the execution of the second execution path affects the error associated with the code. The method also includes identifying a code component that contributed to the difference between the first data and the second data, if the difference between the first data and the second data affects the error associated with the code.


