Targeted Cloud Debugging for Code Taskflows

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional debugging methods require developers to choose between debugging and runtime modes for entire codebases, which can be inefficient as they often need to debug only specific portions of the code while allowing other parts to execute without debugging functionality.

Innovation Solution

A method and system that allow developers to specify and execute taskflows with debugging functionality for specific portions of code while other portions execute in runtime mode, using a web service computer system to compile and execute code, and provide debugging functionality only for selected taskflows via a network.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If debugging functionality is provided for the entire codebase, then the developer can debug any portion of the code, but it serves to distract the developer and waste time

Engineering Contradiction:
Improvedebugging capabilityVSAvoiddeveloper time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The codebase is divided into distinct taskflows, allowing the developer to select and debug only specific portions (selected taskflows) while allowing other portions (non-selected taskflows) to execute without debugging functionality. This segmentation enables targeted debugging that reduces distraction and time loss.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the developer chooses debugging mode for the entire code, then debugging functionality is available, but the remainder of the code cannot execute without debugging functionality

Engineering Contradiction:
Improvedebugging functionalityVSAvoidcode execution efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system segments the code into taskflows and allows selective application of debugging mode. Selected taskflows execute with full debugging functionality (breakpoints, variable inspection, step-through), while non-selected taskflows execute in optimized runtime mode without debugging overhead, enabling both reliable debugging and efficient execution concurrently.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The debugging mode is made dynamic and selective rather than static and global. The developer can dynamically select which taskflows should have debugging functionality during execution, allowing the system to adapt between debugging and performance modes for different code portions based on current needs.

Inventive Principle:
Principle #15Dynamics

3Measurement precision

If debugging functionality is provided for all code portions, then complete code coverage is achieved, but it distracts and delays execution of non-debugged code

Engineering Contradiction:
Improvecode coverageVSAvoidexecution speed
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The system segments debugging coverage to apply only to selected taskflows rather than all code. This allows precise measurement and debugging coverage for critical portions while maintaining high execution speed for non-critical portions that skip debugging overhead entirely.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP3036635B1Targeted cloud-based debugging
Publication Date: 2023.10.25 ORACLE INT CORP
  • EP3036635B1 patent drawingFigure 1
  • EP3036635B1 patent drawingFigure 2
  • EP3036635B1 patent drawingFigure 3

AI summary

Various arrangements for debugging code are presented. A computer system, such as a web server, may compile code into compiled code. The code may contain one or more subsections, include a first taskflow. A selection of the first taskflow may be received from a remote, developer computer system via a network. The selection of the first taskflow may indicate that the first taskflow is to be debugged. Execution of the first taskflow of the compiled code may occur by the computer system. While the computer system is executing the first taskflow of the compiled code, debugging functionality of the first taskflow may be provided to the developer computer system.