Machine Learning Autocomplete for Visual Programming

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional autocomplete tools in visual programming are unwieldy and slow due to extensive lists of type-matched options, which hinder productivity, especially in new projects lacking historical data, and require developers to manually filter or scroll through numerous suggestions.

Innovation Solution

A machine-learning assisted autocomplete system that leverages existing programming data from various sources, including local and cloud repositories, to provide intuitive, multi-layer code predictions tailored to the project and developer role, reducing the need for manual filtering by using heuristics and graphical user interface gestures for accepting code suggestions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional autocomplete tools provide extensive lists of type-matched options, then the completeness of code suggestions is improved, but the time required to select appropriate options increases

Engineering Contradiction:
Improvecompleteness of code suggestionsVSAvoidtime to select options
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the autocomplete suggestions into multiple hierarchical layers. The first layer presents a limited set of most relevant options, while subsequent layers contain additional options that can be accessed if needed. This segmentation allows developers to quickly select from common options without being overwhelmed by the full list, thus reducing selection time while maintaining access to complete options when necessary.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts and prioritizes the most relevant code suggestions based on machine learning analysis of project context, developer behavior patterns, and code semantics. By extracting only the most pertinent options and presenting them prominently, the system reduces the effective list size developers must scan while ensuring the correct options are readily available.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If conventional autocomplete tools rank suggestions based on recent history, then the relevance to existing projects is improved, but the usefulness for new projects without historical data deteriorates

Engineering Contradiction:
Improverelevance to existing projectsVSAvoidusefulness for new projects
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements a multi-functional suggestion ranking system that can adapt to different project states. For existing projects, it leverages historical data and project-specific patterns. For new projects without historical data, it falls back to universal patterns derived from training data across multiple projects, code semantics, and type matching. This universality ensures the system remains effective across the full spectrum of project maturity stages.

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

Solution Approach 2:

The system performs preliminary analysis of the code context, project structure, and developer intent before generating suggestions. By pre-computing relevance scores based on available context (even in new projects), it prepares ranked suggestions that are immediately useful without requiring historical project data, thus bridging the gap between new and established project support.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If conventional autocomplete tools require developers to scroll through extensive lists or provide additional search terms, then the precision of option selection is improved, but the complexity of the interaction process increases

Engineering Contradiction:
Improveprecision of option selectionVSAvoidcomplexity of interaction process
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies local quality by providing different levels of suggestion detail and interaction mechanisms based on the specific context and user needs. The interface adapts its complexity locally - presenting simple ranked lists for common scenarios, and offering advanced filtering or multi-layer exploration only when necessary. This localized approach maintains precision while minimizing unnecessary interaction complexity for each specific use case.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS12061882B2Machine-learning assisted autocomplete in visual programming
Publication Date: 2024.08.13 ELECTRONIC ARTS INC
  • US12061882B2 patent drawing
  • US12061882B2 patent drawing
  • US12061882B2 patent drawing

AI summary

A visual-programming tool accesses a datastore of existing program data, which includes program code associated with a plurality of programs, (e.g., games), stored as multi-layer trees of nodes with logical connections signifying relationships between nodes of adjacent layers. The tool uses machine learning to determine multi-layer trees of predictions including at least one chain of nodes from the multi-layer tree of nodes. The tool provides one or more of the multi-layer trees of predictions including chains of nodes for presentation via a graphical-user interface and receives a gliding gesture input indicating a decision between nodes of the one or more layers. The input indicates a decision associated with selecting a chain of nodes when the input traverses more than one layer. The visual-programming tool provides further layers from the one or more multi-layer trees of predictions based on the received input without requiring acceptance of individual nodes at each layer.