Software Failure Location via State Reproduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvefailure cause identification accuracyVSAvoidtime to locate failure
Core Design Contradiction:
Measurement precisionVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #26Copying

2Measurement precision

If comprehensive system environment data is collected, then failure analysis accuracy is improved, but resource usage increases

Engineering Contradiction:
Improvefailure cause analysis accuracyVSAvoidsystem resource consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #3Local quality

3Productivity

If automatic failure location is implemented, then productivity is improved, but device complexity increases

Engineering Contradiction:
Improvefailure location efficiencyVSAvoidsystem architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #25Self-service

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9983987B2Method, apparatus, and device for locating a software failure
Publication Date: 2018.05.29 BEIJING BAIDU NETCOM SCI & TECH CO LTD
  • US9983987B2 patent drawing
  • US9983987B2 patent drawing
  • US9983987B2 patent drawing

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.