Source Code Validation via Non-Programming Language Intermediary

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing technologies face challenges in efficiently updating source code from an original programming language to a target programming language, often requiring significant processing and memory resources, and lack reliable methods for validating the accuracy of these updates.

Innovation Solution

The system generates knowledge graphs to represent source code in both languages, uses natural language processing to identify and mask unique data objects, and predicts counterparts in the target language, thereby creating and validating the updated source code, reducing resource consumption and ensuring accuracy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If source code is converted from an original programming language to a target programming language using conventional methods, then the source code can be updated to a new version, but significant processing and memory resources are consumed

Engineering Contradiction:
Improvesource code update accuracyVSAvoidprocessing and memory resources
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent introduces a non-programming language (such as natural language or pseudo-code) as an intermediary representation between the original programming language and the target programming language. The source code is first converted to this intermediate non-programming language representation, which captures the semantic meaning and logic of the original code. Then, from this intermediate representation, the target programming language code is generated. This intermediary approach avoids the complexity of direct translation between programming languages, reduces processing resources, and improves update accuracy by maintaining a semantic abstraction layer that preserves the original code's intent.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If conversion library functions are used to link existing software infrastructure with new source code in a different programming language, then compatibility is achieved, but excess processing and memory resources are consumed

Engineering Contradiction:
Improvesoftware infrastructure compatibilityVSAvoidconversion library requirements
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The non-programming language serves as a universal intermediary that both the existing software infrastructure and the new source code can communicate through. Instead of using conversion libraries to directly link different programming languages, the system translates both the existing infrastructure interfaces and the new source code into the intermediate non-programming language representation, ensuring compatibility without requiring complex conversion libraries.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates an intermediate copy of the source code in non-programming language that preserves the semantic meaning and logic. This intermediate copy serves as a platform-independent representation that can be used to generate target code in any programming language, eliminating the need for language-specific conversion libraries and reducing system complexity.

Inventive Principle:
Principle #26Copying

3Productivity

If source code is updated to a new programming language version, then new functionality and improvements can be implemented, but validation of the updated code becomes challenging

Engineering Contradiction:
Improvesource code update capabilityVSAvoidupdated code validation
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The non-programming language intermediate representation serves as a validation bridge between the original and updated source code. By converting both the original code and the updated code to the same intermediate representation, the system can directly compare them to verify that the update maintains the original logic and intent. This intermediate form provides a language-agnostic basis for validation, making it easier to verify correctness regardless of the target programming language.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements a feedback mechanism where the intermediate non-programming language representation is used to verify the updated code. The system compares the intermediate representation of the updated code against the intermediate representation of the original code, providing feedback on whether the update preserves the intended functionality. This feedback loop ensures validation accuracy while enabling productive code updates.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20250004735A1Source code validation based on converting the source code to a non-programming language
Publication Date: 2025.01.02 BANK OF AMERICA CORP
  • US20250004735A1 patent drawing
  • US20250004735A1 patent drawing
  • US20250004735A1 patent drawing

AI summary

A system identifies data objects from a first piece of code in an original programming language and creates a knowledge graph that represents a relationship among the data objects. The system identifies an expression syntax in the first piece of code and determines an interpretation of the expression syntax. The system creates a sentence that indicates an interpretation of a respective code line. The system determines a counterpart data object in a target programming language for each word in the created sentence. In response, the system creates a second piece of code in the target programming language, such that the second price of code satisfies syntax rules in the target programming language. In response to determining that the second piece of code is configured to perform a particular task that the first piece of code is configured to, the system executes the second piece of code.