Shared Software Debugging Service for IDE Knowledge Persistence

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software debugging tools in integrated development environments (IDEs) do not allow future developers to access and utilize the accumulated knowledge and information from past debugging sessions, such as breakpoint values and developer steps, which hinders efficient debugging and problem-solving.

Innovation Solution

A shared debugging service that stores information collected during software debug sessions, including developer identities, session details, and breakpoint information, making it accessible for future debugging sessions, allowing developers to retrieve and display previous records for assistance during current sessions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If debugging information is stored locally in the IDE debugger, then the information is available during the current debug session, but the information is deleted after the session ends and cannot be accessed in future sessions

Engineering Contradiction:
Improvedebugging informationVSAvoiddebugging system
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent merges the local IDE debugger with a remote cloud-based debugging service. The local debugger collects debugging information and transmits it to the cloud service, which stores and manages the data. This combination allows information to persist beyond single sessions while keeping the local IDE relatively simple.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces a cloud-based debugging service as an intermediary between the local IDE debugger and future debugging sessions. This intermediary stores debugging information from past sessions and provides it to future sessions, solving the problem of information loss without requiring complex local storage management in each IDE instance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If debugging information from past sessions is stored and made accessible, then future developers can leverage accumulated knowledge, but the system requires additional storage and retrieval infrastructure

Engineering Contradiction:
Improvedebugging efficiencyVSAvoiddebugging system
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The cloud-based debugging service performs multiple functions: it stores debugging information, manages data retrieval, handles authentication, and provides access to multiple developers and sessions. This multi-functionality consolidates what would otherwise require separate systems into a single service, improving productivity without proportionally increasing complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent transitions debugging information storage from a single-dimension local storage model to a multi-dimensional cloud-based model that serves multiple IDE instances, multiple developers, and multiple time periods. This dimensional change enables information sharing across sessions while the cloud infrastructure manages the complexity of retrieval and access control.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Loss of information

If all debugging information is retained for future access, then complete historical data is available, but storage requirements and data management complexity increase

Engineering Contradiction:
Improvedebugging informationVSAvoidstored data
Core Design Contradiction:
Loss of informationVSQuantity of substance

Solution Approach 1:

The patent applies local quality by allowing different retention policies and access permissions for different debugging information. Not all debugging data is treated uniformly; instead, the system can selectively store and retrieve specific types of information based on their value and sensitivity, reducing overall storage requirements while maintaining essential information.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system implements selective retention where debugging information that is no longer useful is discarded or archived, while essential information is retained and can be recovered when needed. This approach balances information retention with storage management, ensuring that only valuable debugging data consumes storage resources.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS11307966B2Shared software debugging service
Publication Date: 2022.04.19 RED HAT INC
  • US11307966B2 patent drawing
  • US11307966B2 patent drawing
  • US11307966B2 patent drawing

AI summary

A shared debugging service stores information captured during software debug sessions for future use. The information can include developer identities so that future developers can contact past developers for assistance. The information can also include information such as developer steps, user settings, path-to-current code specifics, and stored breakpoint values. A developer can request a record of previous software debug sessions for a given piece of software and can acquire, store, or display previously collected information to assist in a current software debug session.