Unified Debugging of Declarative and Procedural Code Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current debugging tools are inadequate for simultaneously debugging procedural and declarative code, requiring separate tools and methods that complicate the identification of root causes for bugs involving both code types.

Innovation Solution

A unified debugging method and system that records and presents execution steps of both procedural and declarative code as a sequence of events, allowing seamless navigation and breakpoint application across both code types, using a relational format to connect cause and effect in the computational flow.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If separate debugging tools are used for procedural code and declarative code, then each code type can be debugged with specialized functionality, but the debugging process becomes more complex and requires switching between multiple tools

Engineering Contradiction:
Improvedebugging accuracyVSAvoidtool complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent combines separate debugging tools for procedural code and declarative code into a single unified debugging tool. This tool can debug both code types simultaneously within one interface, eliminating the need to switch between multiple specialized tools while maintaining the debugging capabilities for each code type.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The debugging tool is designed with multi-functionality to handle both procedural code and declarative code. It provides universal debugging features that work across different code types, including unified breakpoint management, variable inspection, and execution control for hybrid programs.

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

2Reliability

If separate debugging tools are used for procedural and declarative code, then specialized debugging capabilities are maintained, but the time required to debug hybrid programs increases due to tool switching and data correlation

Engineering Contradiction:
Improvedebugging capabilityVSAvoiddebugging time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

By merging the debugging functionalities into a single tool, the patent eliminates time spent switching between tools and correlating data from different sources. The unified tool maintains synchronized state information for both procedural and declarative code, allowing developers to debug hybrid programs efficiently in one interface.

Inventive Principle:
Principle #5Merging (Combining)

3Ease of operation

If a unified debugging approach is used for both code types, then tool simplicity and debugging efficiency improve, but the ability to handle code-type-specific debugging needs may be compromised

Engineering Contradiction:
Improvedebugging efficiencyVSAvoidcode-type specificity
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The unified debugging tool achieves versatility by incorporating specialized debugging capabilities for both procedural and declarative code types. It automatically adapts to the current code context, providing appropriate debugging features for the active code type while maintaining a consistent user interface and workflow.

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

Solution Approach 2:

The debugging tool dynamically adjusts its behavior and available features based on the detected code type and execution context. It switches between procedural and declarative debugging modes as needed, providing code-type-specific functionality within a unified framework that maintains operational simplicity.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9239773B1Method and system for debugging a program that includes declarative code and procedural code
Publication Date: 2016.01.19 CADENCE DESIGN SYST INC
  • US9239773B1 patent drawing
  • US9239773B1 patent drawing
  • US9239773B1 patent drawing

AI summary

A method for debugging a program that includes declarative code and procedural code includes presenting to a user on an output device data relating to execution of the procedural code and data relating to execution of the declarative code. The data is presented in the form of a sequence of execution events corresponding to a computational flow of an execution of the program.