Intelligent Code Generation Differentiating Object Names and Values

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems for automatically generating program code using macros fail to differentiate between target objects based on their operational values and names, leading to unnecessary variable declarations and reduced code readability.

Innovation Solution

A method and device that process instruction information to generate code lines by determining whether each instruction information character string pertains to a naming or generation instruction, allowing for the differentiation of objects by names or values, and storing or displaying code accordingly, with recommendations for naming objects when unnecessary variables are declared.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If all target objects are mechanically named in existing macro-based systems, then program code can be generated to reproduce operations, but unnecessary variable declarations are created and code readability deteriorates

Engineering Contradiction:
Improveprogram code generation capabilityVSAvoidcode readability
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent applies local quality by differentiating the naming approach for different target objects based on their characteristics. Important objects that require reuse are named with meaningful identifiers, while temporary or less important objects are handled with inline values or mechanical names. This selective naming strategy optimizes code readability in specific locations without compromising the overall code generation capability.

Inventive Principle:
Principle #3Local quality

2Reliability

If all target objects are mechanically named, then operations can be reproduced, but resources are used needlessly and declaration overhead increases

Engineering Contradiction:
Improveoperation reproduction accuracyVSAvoidvariable declarations
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts the naming decision-making process from the mechanical naming approach. By analyzing the characteristics, usage patterns, and importance of each target object, the system selectively applies meaningful names only where necessary for operation reproduction, thereby eliminating unnecessary variable declarations and reducing resource overhead.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If values are declared as variables in different locations, then operations can be performed, but understanding is impeded and code complexity increases

Engineering Contradiction:
Improveoperation flexibilityVSAvoidcode structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the code generation process into two distinct phases: a macro recording phase that captures operations with mechanical names, and a code generation phase that intelligently transforms these into optimized code. This segmentation allows the system to maintain operation flexibility during recording while producing simplified, readable code during generation, thereby reducing overall code structure complexity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9513875B2Processing instruction information
Publication Date: 2016.12.06 KYNDRYL INC
  • US9513875B2 patent drawing
  • US9513875B2 patent drawing
  • US9513875B2 patent drawing

AI summary

A method and system for processing instruction information. Each instruction information character string of a sequence of instruction information character strings are sequentially extracted and processed. It is independently ascertained for each instruction information character string in the sequence whether to generate a code line for each instruction information character string, by: determining whether a requirement is satisfied and generating the code line and storing the code line in a code buffer if the requirement has been determined to be satisfied and not generating the code line if the requirement has been determined to not be satisfied. The requirement relates to whether the instruction information character string being processed comprises a naming instruction or a generation instruction. It is determined that the requirement is satisfied for one or more instruction information character strings in the sequence.