Proactive Debugging via Automated State Capture

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Debugging and reproducing issues in complex software applications can be time-consuming and difficult, especially when developers lack control over the platform on which the application runs, as conventional manual methods often fail to accurately replicate the problem environment.

Innovation Solution

An automated process that detects a problem during application execution, creates an enhanced copy of the application with metadata, and restores it to a previous state to reproduce the issue, allowing for precise recreation of the environment and circumstances at the time of the bug, even if the developer does not own the platform.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If developers manually replicate the problem environment to reproduce bugs, then they can investigate the issue, but the process becomes time-consuming and difficult especially when lacking platform control

Engineering Contradiction:
Improveproblem reproduction accuracyVSAvoiddebugging time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system creates a copy of the problematic execution state including application memory, processor registers, and platform environment, allowing developers to reproduce bugs without manually replicating complex platform conditions. This copying approach maintains reproduction accuracy while eliminating time-consuming manual setup.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system proactively captures and preserves execution state information before the bug manifests, storing application state, platform configuration, and environmental parameters in advance. This preliminary action eliminates the need for time-consuming manual replication during debugging.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If developers attempt to reproduce complex platform-dependent issues manually, then they may eventually find the bug, but the effort and resources required become excessive

Engineering Contradiction:
Improvedebugging efficiencyVSAvoidcomplexity of reproduction environment
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Instead of requiring developers to manually construct complex platform environments, the system automatically copies the actual execution state including application memory, processor registers, and platform-specific parameters. This approach maintains debugging efficiency while eliminating the complexity of manual environment setup.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system introduces an intermediary debugging mechanism that bridges the gap between complex platform-dependent bugs and simple reproduction. The intermediary automatically captures execution state and presents it in a manageable format, maintaining productivity while reducing the apparent complexity for developers.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If conventional manual debugging methods are used, then developers can investigate problems, but they fail to accurately replicate the problem environment when platform control is lacking

Engineering Contradiction:
Improveenvironment replication accuracyVSAvoidease of debugging
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The system creates an accurate copy of the problematic execution environment including application state, platform configuration, and runtime parameters. This copying mechanism achieves high environment replication accuracy while maintaining ease of operation, as developers simply need to load the captured state rather than manually replicate complex conditions.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The debugging system performs self-service by automatically capturing, preserving, and restoring execution state without requiring manual intervention. This approach achieves precise environment replication while maintaining ease of operation, as the system handles the complex tasks of state capture and restoration autonomously.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10698790B1Proactive debugging
Publication Date: 2020.06.30 EMC IP HLDG CO LLC
  • US10698790B1 patent drawing
  • US10698790B1 patent drawing
  • US10698790B1 patent drawing

AI summary

A bug or problem that occurs during execution of an application is detected and a time at which the problem occurred is stored. An enhanced copy of the application is restored from before the time at which the problem occurred, and the enhanced copy of the application is run. If the problem is reproduced, the application is paused. If the problem is not reproduced, restoration of the enhanced copy, running of the enhanced copy and detection of the problem are repeated for a pre-designated number of times.