Program Generation Apparatus Constraint Validation Overfitting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing automatic programming technologies face challenges in generating desired programs due to the limited information provided by input-output examples, often resulting in overfitting and failure to produce the intended program.

Innovation Solution

A program generation device that includes a generation unit to create a first program satisfying input-output pairs and a determination unit to randomly generate input values within constraints, determining whether the output values satisfy these constraints, thereby increasing the likelihood of generating the desired program.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a program is generated based only on input-output examples, then the program can satisfy the given examples, but the program may be overfitted and not represent the desired general behavior

Engineering Contradiction:
Improveprogram accuracyVSAvoidspecification completeness
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent applies preliminary action by performing constraint analysis and generating constraint conditions before final program synthesis. The system extracts constraints from input-output examples in advance, then uses these constraints to guide program generation, preventing overfitting by establishing boundaries beforehand rather than after program creation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback by using constraint satisfaction checking during program generation. The system continuously checks whether generated programs satisfy the extracted constraints, and uses this feedback to refine and adjust program synthesis, ensuring the program represents general behavior rather than just memorizing examples.

Inventive Principle:
Principle #23Feedback

2Reliability

If more input-output examples are provided to avoid overfitting, then program accuracy improves, but the complexity and time required for program synthesis increases

Engineering Contradiction:
Improveprogram accuracyVSAvoidsynthesis process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts essential constraint conditions from input-output examples, separating the core behavioral requirements from the specific example data. This extraction process distills the specification into concise constraints that capture the essential program behavior without requiring all original examples, reducing synthesis complexity while maintaining accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the parameter representation from raw input-output example data to extracted constraint conditions. This parameter transformation converts detailed example specifications into generalized constraint rules, reducing the information dimensionality and simplifying the program synthesis process while preserving the essential behavioral requirements.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If conventional program synthesis methods are used, then the process is simple and fast, but the generated program may not satisfy the user's actual requirements

Engineering Contradiction:
Improveprogram generation speedVSAvoidprogram satisfaction
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent performs preliminary constraint extraction and analysis before program synthesis, establishing correct specification boundaries in advance. This preliminary action prevents generation of programs that would fail to satisfy requirements, avoiding wasted computation on incorrect programs and improving overall productivity through focused synthesis.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements constraint satisfaction feedback during the synthesis process, continuously verifying that generated programs meet the extracted constraints. This feedback mechanism guides the synthesis toward correct solutions, improving both the reliability of generated programs and the efficiency by preventing exploration of incorrect program spaces.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12236247B2Program generation apparatus, program generation method and program
Publication Date: 2025.02.25 NIPPON TELEGRAPH & TELEPHONE CORP
  • US12236247B2 patent drawing
  • US12236247B2 patent drawing
  • US12236247B2 patent drawing

AI summary

The possibility of a desired program being automatically generated is increased by a program generation device including: a generation unit configured to generate a first program that satisfies at least one pair of an input value and an output value; and a determination unit configured to randomly generate an input value that satisfies a constraint regarding input and output of the first program, and determine whether or not an output value that is obtained by inputting the input value to the first program satisfies the constraint.