Program Synthesis Using Enumeration Pattern Annotations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing program synthesis methods are limited in converting declarative descriptions into computable programs, especially when using external predicates, as they require explicit context and are not flexible in realizing predicates as relations, restricting the conversion of logical expressions into computable terms.

Innovation Solution

A system and method for program synthesis using annotations based on enumeration patterns, which translates problem text into a formal specification through natural language processing, allowing for the synthesis of computer programs by mapping external predicates to computable terms and using enumeration patterns to generate terms satisfying the formal specification.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If declarative descriptions are converted into programs using existing program synthesis methods, then programs can be generated from formal expressions, but the conversion is limited and requires explicit context for external predicates

Engineering Contradiction:
Improveflexibility in converting declarative descriptions to programsVSAvoidrequirement for explicit context in predicate usage
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces enumeration patterns as an intermediary mechanism between declarative descriptions and program synthesis. These patterns serve as a mediator that enables the system to infer predicate meanings and relationships without requiring explicit contextual annotations, thereby resolving the contradiction between versatility and complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the parameter of predicate representation by introducing enumeration patterns that capture the essential characteristics of predicates in a standardized format. This parameter transformation allows the system to handle external predicates more flexibly while maintaining synthesis accuracy, eliminating the need for explicit context

Inventive Principle:
Principle #35Parameter changes

2Reliability

If predicates are treated as one-way operations with explicit context, then program synthesis can be precise, but the ability to handle predicates as relations is restricted

Engineering Contradiction:
Improveprecision in program synthesisVSAvoidability to handle predicates as relations
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent makes the program synthesis system universal by enabling it to handle predicates in multiple ways: as one-way operations when needed, and as bidirectional relations when enumeration patterns are provided. This multi-functionality allows the same system to maintain precision while gaining the versatility to treat predicates as relations

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

3Measurement precision

If logical expressions are converted to computable terms with explicit context, then conversion accuracy is maintained, but the range of convertible expressions is limited

Engineering Contradiction:
Improveaccuracy of expression conversionVSAvoidrange of convertible logical expressions
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

Enumeration patterns serve as an intermediary that expands the range of convertible expressions while maintaining accuracy. These patterns act as a bridge that allows the system to interpret a broader class of logical expressions and convert them to computable terms without sacrificing precision, as the patterns provide structured information about the expressions' meanings

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11790263B2Program synthesis using annotations based on enumeration patterns
Publication Date: 2023.10.17 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11790263B2 patent drawing
  • US11790263B2 patent drawing
  • US11790263B2 patent drawing

AI summary

A system for program synthesis using annotations based on enumeration patterns includes a memory device for storing program code, and at least one processor device operatively coupled to the memory device. The at least one processor device is configured to execute program code stored on the memory device to obtain a set of annotated terms including one or more terms each annotated with an enumeration pattern, translate problem text into a formal specification using natural language processing, the formal specification being described as a set of rules associated with predicates, and synthesize one or more terms satisfying the set of rules of the formal specification based on the set of annotated terms to generate a computer program.