LLM Code Translation Error Detection Using Historical Accuracy

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Migrating legacy source code to a modern programming language is arduous and prone to errors, which can lead to disastrous system failures due to untested or buggy translations, especially in critical production systems.

Innovation Solution

Utilize large language models (LLMs) to convert code portions while calculating accuracy differences between original and translated code structures, using software metrics and historical data to identify potential errors in the original code, iteratively correcting and re-translating until acceptable accuracy is achieved.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If code migration is performed using traditional manual methods, then developers can maintain control over the translation process, but the process is extremely time-consuming and error-prone

Engineering Contradiction:
Improvetranslation accuracyVSAvoidmigration time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent replaces manual mechanical code translation with an automated system using large language models. The LLM performs the code conversion from legacy languages to modern languages automatically, eliminating the need for manual line-by-line translation while maintaining high accuracy through the model's trained understanding of multiple programming languages and code structures.

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

Solution Approach 2:

The patent introduces an intermediary validation system that uses code structure representation and software metrics to bridge the gap between automated translation and reliable verification. This intermediary layer analyzes the translated code's structural properties and compares them against expected metrics, providing automated quality assurance without requiring exhaustive manual testing.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If automated translation tools are used to speed up code migration, then translation speed increases, but translation accuracy and reliability decrease

Engineering Contradiction:
Improvetranslation speedVSAvoidcode translation accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements a feedback mechanism where the system calculates code structure representations and software metrics of the translated code, compares them against expected values and historical data, and uses this feedback to identify and correct translation errors. This closed-loop approach maintains high translation speed while ensuring accuracy through automated validation.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent performs preliminary validation by calculating code structure representations and software metrics immediately after translation, before deployment. This preliminary action identifies potential errors early in the process, allowing corrections to be made quickly without compromising the overall translation speed or requiring extensive post-translation testing.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If comprehensive testing and validation are performed on translated code, then translation accuracy improves, but the complexity and time required for the migration process increases

Engineering Contradiction:
Improvetranslated code qualityVSAvoidmigration process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts and analyzes specific structural properties of the code using software metrics and code structure representations, rather than performing exhaustive comprehensive testing. This selective extraction of key validation attributes simplifies the validation process while maintaining effectiveness in identifying translation errors.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the validation approach from functional testing to structural analysis by examining code structure representations and software metrics. This parameter change allows for quicker, less complex validation that still effectively identifies translation errors by comparing structural properties against expected values and historical data.

Inventive Principle:
Principle #35Parameter changes

4Reliability

If deployed code contains errors, then system operations may fail and resources are wasted, but detecting errors before deployment is difficult without extensive testing

Engineering Contradiction:
Improvesystem operation reliabilityVSAvoiderror detection difficulty
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent performs preliminary error detection by calculating code structure representations and software metrics of the translated code before deployment. This preliminary analysis identifies potential errors early in the migration process, allowing corrections to be made before the code is deployed to production systems, thus preventing operational failures.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces traditional exhaustive testing mechanisms with an automated analysis system that uses software metrics and code structure representations to detect errors. This substitution enables efficient error detection without requiring extensive manual testing, making the process both faster and more reliable.

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

Data Source

PatentUS20250217126A1Large language model code translation error detection
Publication Date: 2025.07.03 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20250217126A1 patent drawing
  • US20250217126A1 patent drawing
  • US20250217126A1 patent drawing

AI summary

Large language model code translation error detection include receiving a code portion of a first programming language, and converting the code portion to a second programming language. A first accuracy of the converting of the code portion to the second programming language is calculated. A difference between the first accuracy and an historical accuracy of a conversion from the first programming language to the second programming language is determined. A potential error in the code portion of the first programming language is indicated based on the difference between the first accuracy and the historical accuracy being greater than a predetermined value is indicated.