Interactive Data Transformer Debugging via Breakpoint Insertion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In cloud computing environments, identifying and correcting errors in data transformation code within production pipelines is cumbersome due to the propagation of errors and the complexity of debugging distributed systems, making it difficult to pinpoint issues without disrupting the pipeline.

Innovation Solution

A method and system that allow users to insert test code at specific breakpoints in a data transformer's code, enabling interactive debugging and correction by displaying results in a user interface, automatically detecting erroneous data, and allowing for the insertion of test code to remediate issues without affecting the live code execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional debugging methods are used in production pipelines, then errors can be identified, but the pipeline is disrupted and debugging is cumbersome

Engineering Contradiction:
Improveerror identification accuracyVSAvoidpipeline continuity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system segments the debugging process from the production pipeline by creating a separate test environment. Code is divided into executable portions that can be tested independently without affecting the entire pipeline. Breakpoints create segmented execution zones where debugging occurs in isolation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A test environment acts as an intermediary between the production pipeline and debugging activities. This intermediary layer allows errors to be identified through test code execution while preventing disruptions from propagating to the live production system.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Manufacturing precision

If code modifications are made to fix errors, then accuracy improves, but the complexity of managing modifications increases

Engineering Contradiction:
Improvecode correction accuracyVSAvoidcode management complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The system creates copies of the original code in a test environment where modifications can be safely made. Test code is inserted into copied portions of the data transformer, allowing corrections to be developed and validated without directly modifying production code.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

Code corrections are prepared and tested in advance in the test environment before being applied to production. Breakpoints allow preliminary execution of modified code paths to verify correctness before full deployment.

Inventive Principle:
Principle #10Preliminary action

3Difficulty of detecting and measuring

If interactive debugging is enabled, then error detection capability improves, but the ease of operation decreases due to multiple steps required

Engineering Contradiction:
Improveerror detection capabilityVSAvoiddebugging simplicity
Core Design Contradiction:
Difficulty of detecting and measuringVSEase of operation

Solution Approach 1:

The system merges the test environment with the user interface, allowing developers to interactively execute code portions and view results in an integrated workspace. The breakpoint interface combines code viewing, execution control, and result display in a single unified tool.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system provides self-service debugging capabilities where the automated execution engine handles code compilation, execution, and result generation. Developers simply set breakpoints and insert test code, while the system automatically manages the complex debugging operations.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP3547110B1Code correction
Publication Date: 2023.03.22 PALANTIR TECHNOLOGIES INC
  • EP3547110B1 patent drawingFigure 1
  • EP3547110B1 patent drawingFigure 2
  • EP3547110B1 patent drawingFigure 3

AI summary

A method, performed by one or more processors, is disclosed, the method comprising: providing code representing a plurality of data processing elements of an executable data transformer, one or more of the data processing elements being configured to receive one or more datasets and to produce one or more transformed datasets. The method may further comprise executing a sub-portion of the code up to an inserted breakpoint and displaying a result of the executed code sub-portion up to the breakpoint on one or more datasets in an analysis window. The method may further comprise receiving test code in a console window and executing the test code to apply a transformation on the one or more data sets transformed by the code sub-portion up to the breakpoint to generate an updated result of a test transformation in the analysis window. The method may further comprise inserting the test code received in the console window to the code of the data transformer, responsive to user selection, the test code being inserted after the breakpoint.