Software Development System Using Natural Language Code Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional software development tools are complex and prone to human error due to the need for users to understand and implement programming language syntax, making the process inefficient and error-sensitive.

Innovation Solution

A software development system that uses machine learning to extract attributes from natural language user instructions, arranging them into a structured format to identify a code template and generate software code that implements the desired functionality according to the syntax of a programming language.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional software development tools are used, then software code can be developed with full control over syntax and structure, but the process becomes complex and error-prone due to the need for users to understand and implement programming language syntax manually

Engineering Contradiction:
Improveaccuracy of software codeVSAvoidcomplexity of software development process
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary system comprising a processor and memory that acts as a mediator between the user and the code generation process. The user provides natural language instructions, and the intermediary system automatically generates structured code templates and software code, eliminating the need for users to directly handle complex syntax while maintaining code accuracy through systematic processing.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system enables self-service code generation where the software development tools automatically perform syntax validation, code structure organization, and template selection without requiring user expertise in programming syntax. The processor autonomously completes the code generation process based on user instructions, reducing human error while maintaining full control over code quality.

Inventive Principle:
Principle #25Self-service

2Reliability

If users manually develop software code understanding voluminous code bases, then code can be integrated cohesively within the overall code base, but the process becomes inefficient and sensitive to human error

Engineering Contradiction:
Improveaccuracy of software codeVSAvoidspeed of software code development
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent replaces the manual mechanical process of code development with an automated computational system. Instead of users manually reviewing and integrating voluminous code, the processor automatically analyzes user instructions, selects appropriate code templates, and generates integrated software code, dramatically improving both speed and accuracy while eliminating human error in syntax and integration.

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

Solution Approach 2:

The system performs preliminary actions by pre-defining code templates and structures that are ready for automatic selection and population. The processor prepares the code generation framework in advance, organizing templates and syntax rules beforehand, so that when user instructions are received, the system can quickly generate accurate, integrated code without manual intervention, thus improving both productivity and reliability.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If natural language instructions are processed to generate software code automatically, then the speed and accuracy of code development improve, but the system requires complex processing to extract attributes and map to pre-defined structures

Engineering Contradiction:
Improvespeed of software code developmentVSAvoidcomplexity of processing system
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the code generation process into distinct functional modules: a memory component storing multiple code templates, a processor component that receives natural language instructions, extracts attributes, maps them to pre-defined structures, and generates software code. This segmentation allows the system to handle complex processing tasks through organized, specialized components, improving productivity while managing complexity through modular architecture.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11755295B2Software development system
Publication Date: 2023.09.12 BANK OF AMERICA CORP
  • US11755295B2 patent drawing
  • US11755295B2 patent drawing
  • US11755295B2 patent drawing

AI summary

According to certain embodiments, a software development system comprises memory and a processor operably coupled to the memory. The memory is operable to store a plurality of code templates, each coded according to syntax of a respective programming language. The processor is configured to receive a user instruction in natural language and perform processing of the user instruction to yield a structured user instruction. The processor is further configured to determine a pre-defined structure that maps to the structured user instruction, select a code template associated with the pre-defined structure that maps to the structured user instruction, and use the selected code template to generate software code that implements functionality of the structured user instruction according to the syntax of the respective programming language of the selected code template.