Declarative Visual Programming Code Search for Graph Patterns

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developers face challenges in identifying and refactoring inefficient or insecure code patterns in visual programming languages without requiring coding fluency, as existing tools lack effective pattern matching and visualization capabilities.

Innovation Solution

A declarative specification of search patterns is used to identify and highlight matching code instances in a visual programming language, leveraging the visual structure of the language to detect specified patterns, including wildcards for complex pattern matching, and integrating with tools like IDEs for refactoring.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If developers manually search for code patterns in visual programming languages, then they can identify inefficient or insecure code, but this process requires coding fluency and domain knowledge that many developers lack

Engineering Contradiction:
Improvecode pattern detection accuracyVSAvoiddeveloper skill requirement
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The patent introduces an intermediary system that translates visual programming language diagrams into structured representations (such as abstract syntax trees or graph models) that can be automatically analyzed for code patterns. This intermediary layer enables pattern detection without requiring developers to manually interpret complex visual structures, thus maintaining detection accuracy while reducing skill requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the mechanical manual search process with automated computational methods. Instead of developers visually scanning and interpreting code diagrams, the system uses algorithms to automatically detect patterns, transform visual representations into analyzable formats, and identify inefficient or insecure code patterns, thereby eliminating the need for specialized coding fluency.

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

2Adaptability or versatility

If existing tools are used for pattern matching in visual programming languages, then some code analysis is possible, but they lack effective visualization capabilities to highlight matching code instances

Engineering Contradiction:
Improvepattern matching capabilityVSAvoidcode instance visualization
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent adds a new dimension of visualization by mapping detected code patterns back onto the original visual programming language diagram. Instead of merely listing matches in text form, the system highlights matching code instances directly on the visual canvas, preserving spatial relationships and enabling intuitive understanding of where patterns occur within the overall program structure.

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

Solution Approach 2:

The patent employs color-coding and visual highlighting techniques to distinguish matching code instances from non-matching portions. Different colors or visual styles indicate different types of patterns or severity levels, making it easy for developers to quickly identify and understand detected patterns without having to manually search through code.

Inventive Principle:
Principle #32Color changes

3Measurement precision

If comprehensive code analysis is performed on visual programming language repositories, then all matching patterns can be identified, but the complexity of analyzing graph-based visual code increases significantly

Engineering Contradiction:
Improvepattern detection completenessVSAvoidcode analysis system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent divides the complex task of analyzing entire visual programming language repositories into smaller, manageable segments. The system processes code repositories in chunks or modules, analyzes individual diagrams or subgraphs separately, and then aggregates results. This segmentation reduces memory requirements and computational complexity while maintaining comprehensive pattern detection across the entire repository.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transforms the visual programming language code into different parameter representations suitable for analysis, such as converting graphical elements into graph theory parameters (nodes, edges, connectivity) or abstract syntax tree structures. This parameter transformation simplifies the analysis process by converting complex visual structures into standardized formats that can be efficiently searched and compared against known patterns.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12430104B2Declarative visual programming language code search
Publication Date: 2025.09.30 OUTSYST SOFTWARE EM REDE
  • US12430104B2 patent drawing
  • US12430104B2 patent drawing
  • US12430104B2 patent drawing

AI summary

A declarative specification of a search pattern for a graph visual programming language code is received. A repository of graph based visual programming language code instances is analyzed using one or more processors to identify at least a portion of a visual programming language code instance of the repository that matches the search pattern. An indication of at least the portion of the visual programming language code instance of the repository that matches the search pattern is provided.