Program Synthesis Model Training via Natural Language and Similarity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing program synthesis systems rely on tedious and time-consuming methods using input/output examples, which hinder efficient automated software construction.

Innovation Solution

The use of machine learning techniques that combine programs with natural language descriptions to synthesize programs more quickly and efficiently, reducing the need for numerous input/output examples and enhancing the speed and capacity of program synthesis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional program synthesis systems use input/output examples to specify program behavior, then program synthesis can be achieved, but the process becomes tedious and time-consuming

Engineering Contradiction:
Improveprogram synthesis accuracyVSAvoidprogram synthesis time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent replaces the mechanical process of manually providing input/output examples with a machine learning model that automatically generates programs from natural language specifications. The model learns from training data consisting of natural language descriptions paired with corresponding programs, enabling automated program synthesis without tedious manual example provision.

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

Solution Approach 2:

The patent introduces a machine learning model as an intermediary between natural language specifications and program generation. This model acts as a mediator that translates human-readable specifications into executable code, eliminating the need for direct manual mapping of input/output examples to programs.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Manufacturing precision

If numerous input/output examples are provided to specify program behavior, then program synthesis accuracy improves, but the complexity and effort required increases

Engineering Contradiction:
Improveprogram synthesis precisionVSAvoidsystem complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent replaces the complex mechanical process of curating and managing numerous input/output examples with a machine learning model trained on natural language specifications. The model internally learns the mappings and patterns, eliminating the need for explicit manual example management while maintaining synthesis precision.

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

Solution Approach 2:

The patent changes the input parameter format from structured input/output examples to unstructured natural language specifications. This parameter transformation simplifies the interface while the model handles the complexity of learning from diverse language expressions to generate accurate programs.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20220108182A1Methods and apparatus to train models for program synthesis
Publication Date: 2022.04.07 INTEL CORP
  • US20220108182A1 patent drawing
  • US20220108182A1 patent drawing
  • US20220108182A1 patent drawing

AI summary

Methods and apparatus to train models for program synthesis are disclosed. A disclosed example apparatus includes at least one memory, instructions, and processor circuitry. The processor circuitry is to execute the instructions to sample pairs of programs, the pairs of programs including first programs and second programs, the first programs including natural language descriptions and second programs, calculate program similarity scores corresponding to the pairs of programs, and train a model based on entries corresponding to ones of the pairs of programs, at least one of the entries including a corresponding one of the natural language descriptions with a paired one of the second programs, and a corresponding one of the program similarity scores.