Program Generation System for Automated Data Conversion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data manipulation strategies are impractical for large datasets, requiring manual effort or programming expertise, and are time-consuming even for experienced users, as they involve converting input information from one format to another.

Innovation Solution

A program generation system that uses input-output examples to automatically generate programs through a parsing module, transformation module, and formatting module, which identifies input and output parts, selects appropriate converter modules, and generates formatting instructions to transform new input items into desired output items.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If manual conversion is used for small datasets, then simplicity is maintained, but productivity decreases for large datasets

Engineering Contradiction:
Improvedata conversion speedVSAvoidmanual effort required
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The system enables self-service automation by allowing users to provide input-output examples and receive an automatically generated conversion program without requiring programming expertise. The system serves itself by learning the conversion logic from examples and producing executable code that can be applied to large datasets automatically.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent introduces an intermediary program generation system that mediates between the user's conversion requirements and the actual data transformation process. This intermediary automatically generates conversion programs based on examples, eliminating the need for users to manually write code while maintaining ease of use.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If automated program writing is used, then productivity increases, but ease of operation decreases due to programming expertise requirements

Engineering Contradiction:
Improvedata conversion speedVSAvoidprogramming expertise required
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The system performs the programming task automatically by learning from input-output examples and generating conversion programs without human intervention in the coding process. Users simply provide examples and receive ready-to-use programs, making the system self-sufficient in bridging the gap between requirements and implementation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system analyzes input-output examples to copy and replicate the conversion logic patterns. By studying the transformations in provided examples, the system learns the underlying rules and generates programs that copy this learned behavior, eliminating the need for users to understand programming concepts.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If experienced users write programs manually, then adaptability is achieved, but loss of time increases

Engineering Contradiction:
Improveprogram customizationVSAvoidprogram development time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs preliminary analysis of input-output examples to pre-learn the conversion logic before actual data processing is needed. By conducting this analysis in advance and generating the conversion program beforehand, the system eliminates the time-consuming manual program writing process while maintaining adaptability to specific conversion requirements.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses feedback from input-output examples to automatically adjust and generate appropriate conversion programs. By analyzing the feedback provided in the examples (showing desired input and output transformations), the system learns the correct conversion logic and generates programs that adapt to the specific requirements without manual intervention.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9613115B2Generating programs based on input-output examples using converter modules
Publication Date: 2017.04.04 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9613115B2 patent drawing
  • US9613115B2 patent drawing
  • US9613115B2 patent drawing

AI summary

A program generation system is described that generates a program based on a plurality of input-output examples. The input-output examples include input items and corresponding output items. The program generation system can include three component modules. A parsing module processes the input items and output items to provide a plurality of input parts and output parts, respectively. A transformation module determines, for each output part, whether the output part can be produced from a corresponding input part using one or more converter modules selected from a collection of candidate converter modules. A formatting module generates formatting instructions that transform selected output parts into a form specified by the output items. These three modules provide a generated program that embodies logic learned from the input-output examples; the generated program can be subsequently used to transform new input items into new respective output items.