IDE Error Querying Module for Legacy Code Debugging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software developers face productivity issues due to mistakes made while coding, especially when working with unfamiliar legacy applications, leading to repeated errors that could be addressed by leveraging past error resolutions.

Innovation Solution

A common error database is created to store historical error/resolution pairs, allowing developers to receive suggested resolutions in real-time based on relevancy metrics, such as similarity and tagging, within an integrated development environment (IDE).

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If developers work with unfamiliar legacy applications, then they can expand their skill set and work on diverse projects, but they make more mistakes and spend more time debugging

Engineering Contradiction:
Improveability to work with different applicationsVSAvoiddebugging efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system collects feedback from multiple developers about errors encountered and resolutions applied, storing this information in a database. When a developer encounters an error, the system queries the database for similar errors and their resolutions, providing feedback in the form of suggested fixes. This feedback loop allows developers to learn from others' experiences with different applications, maintaining versatility while improving debugging efficiency.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary actions by proactively querying the error database before the developer has to manually search for solutions. It automatically identifies similar errors based on the current error message and retrieves relevant resolutions in advance, presenting them to the developer as suggestions. This preliminary retrieval of information reduces the time spent on debugging unfamiliar applications.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If developers manually search for error resolutions, then they can find solutions to current errors, but it consumes significant time and reduces productivity

Engineering Contradiction:
Improveability to find error solutionsVSAvoidtime spent debugging
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system enables self-service by automatically querying the error database and retrieving relevant resolutions without requiring manual searching. The error querying module automatically processes the current error message, searches for similar errors in the database, and presents matched resolutions to the developer. This automated self-service approach maintains ease of finding solutions while dramatically reducing the time spent on manual error resolution searches.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system replaces the mechanical process of manual error searching with an automated electronic query system. Instead of developers manually browsing documentation or searching through past errors, the system uses automated text processing and database querying to retrieve relevant resolutions. This substitution of manual mechanical searching with automated electronic retrieval reduces debugging time while maintaining ease of access to solutions.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Productivity

If a common error database is implemented, then error resolution suggestions can be provided, but the system complexity increases

Engineering Contradiction:
Improvedebugging speedVSAvoidsystem architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system achieves universality by creating a multi-functional error management platform that serves multiple purposes: storing error information, querying for similar errors, analyzing error patterns, and providing resolutions. The same database and querying infrastructure supports all these functions, reducing overall system complexity compared to having separate systems for each function. This universal error management system improves debugging speed while keeping the architecture manageable through consolidation of functions.

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

Solution Approach 2:

The system merges multiple components into an integrated error management system: the error database, querying module, analysis engine, and resolution suggestion system are combined into a cohesive architecture. By merging these functions into a unified system rather than separate standalone components, the overall system complexity is reduced while still providing comprehensive error resolution capabilities that improve debugging speed.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9898387B2Development tools for logging and analyzing software bugs
Publication Date: 2018.02.20 CA TECH INC
  • US9898387B2 patent drawing
  • US9898387B2 patent drawing
  • US9898387B2 patent drawing

AI summary

Methods of debugging code in a development environment are provided including compiling code in the development environment; receiving an error message for an error encountered in the compiled code; and automatically receiving a plurality of suggested resolutions for the error in the compiled code. The plurality of suggested resolutions are based on past resolutions of errors associated with a plurality of developers stored in a common database. The plurality of suggested resolutions are provided in order of relevancy based on a plurality of relevancy metrics. Related systems and computer program products are provided.