Software Failure Location via State Reproduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current software failure detection methods do not allow users or developers to determine the cause of software failures, leading to repeated issues due to unaware user operations or undiagnosed software defects.
Innovation Solution
A method and apparatus that determine a locating start time, reproduce the software's running state from that time to the failure occurrence, and analyze the system environment to identify the cause of the failure, facilitating user awareness and developer diagnosis.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If software failure detection is performed without reproduction, then detection speed is fast, but the ability to determine the cause of failure is insufficient
Solution Approach 1:
The patent performs preliminary actions by automatically recording system environments (registry settings, running processes, loaded modules, etc.) before software failure occurs. This preliminary data collection enables subsequent reproduction of the failure state without requiring time-consuming manual investigation, thus resolving the contradiction between fast detection and accurate cause identification.
Solution Approach 2:
The patent creates a copy of the system environment at the time of failure by recording and storing relevant system data. This copied environment can be reproduced and analyzed later to determine the exact cause of failure, allowing both fast initial detection and thorough subsequent analysis without time loss.
2Measurement precision
If comprehensive system environment data is collected, then failure analysis accuracy is improved, but resource usage increases
Solution Approach 1:
The patent extracts only the necessary and relevant system environment data required for failure analysis, such as registry settings, running processes, and loaded modules. By selectively taking out only the essential information rather than collecting all possible data, the system achieves accurate failure analysis while minimizing resource consumption.
Solution Approach 2:
The patent applies local quality by focusing data collection on specific system components and parameters that are most relevant to software failure analysis. Instead of uniformly collecting all system data, it targets specific areas (registry, processes, modules) where failure causes are most likely to be found, optimizing both accuracy and resource efficiency.
3Productivity
If automatic failure location is implemented, then productivity is improved, but device complexity increases
Solution Approach 1:
The patent implements self-service by enabling the system to automatically detect, record, reproduce, and analyze its own failure states without external intervention. The system serves itself by autonomously collecting environment data, reproducing failure conditions, and identifying causes, which improves productivity while the automation handles the complexity internally.
Solution Approach 2:
The patent introduces an intermediary component that acts as a mediator between the software system and the analysis process. This intermediary automatically records system environments and manages the reproduction process, simplifying the overall architecture by centralizing the complexity in a dedicated module rather than distributing it throughout the entire system.
Data Source
AI summary
A method, apparatus, and device for locating a software failure are disclosed. The method comprises: determining a locating start time; obtaining a system environment at the locating start time; reproducing a running state of the software from the locating start time to an occurrence time of a software failure in the system environment at the locating start time; determining a cause of the software failure based on the reproduced running state. The apparatus comprises: a determination module, an obtaining module, a reproduction module, and an analysis module. Through this approach, automatic locating of a software failure is implemented, which helps the user to be aware of the operation problem and facilitates a software developer to find a deficiency in the software design.


