Automated Visual FoxPro to .NET Code Migration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The lack of an automated tool for converting Visual FoxPro (VFP) applications to newer technology platforms poses challenges in software obsolescence, leading to security risks and performance bottlenecks when running legacy VFP applications, while manual migration is costly and error-prone.

Innovation Solution

A multi-stage process converting VFP applications to Microsoft.NET applications within a modern MVC framework, using a Grammar Lexer, Parser, Dictionary Builder, and Output Generator to preserve business logic and separate core functionality from user interface behavior.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If legacy VFP applications are continued to run in modern IT infrastructure, then existing business logic is preserved, but security risks and performance bottlenecks increase

Engineering Contradiction:
Improvebusiness logic preservationVSAvoidsecurity risks
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent uses an automated conversion tool as an intermediary between the legacy VFP application and the target .NET platform. This tool analyzes VFP source code, builds a semantic model preserving business logic, and generates equivalent .NET code, thereby enabling migration without direct manual intervention while eliminating security risks associated with running legacy VFP applications in modern infrastructure

Inventive Principle:
Principle #24Intermediary (Mediator)

2Object-affected harmful factors

If manual migration of VFP applications to newer technology is performed, then security risks are reduced, but cost and error rates increase

Engineering Contradiction:
Improvesecurity risksVSAvoidmigration cost
Core Design Contradiction:
Object-affected harmful factorsVSEase of manufacture

Solution Approach 1:

The conversion tool performs self-service by automatically analyzing VFP source code, building semantic models, and generating .NET code without requiring extensive manual programming effort. The system autonomously handles the migration process, reducing both cost and human error while maintaining security improvements

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the mechanical process of manual code translation with an automated computational system. The conversion tool uses algorithmic analysis and code generation to substitute human programmers, dramatically reducing migration cost and time while improving accuracy

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

3Productivity

If third-party VFP converters are used, then conversion speed is improved, but business logic preservation deteriorates

Engineering Contradiction:
Improveconversion speedVSAvoidbusiness logic preservation
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The conversion tool incorporates feedback mechanisms by building a semantic model that captures the meaning and logic of VFP code, then using this model to guide code generation. This feedback loop ensures business logic preservation while maintaining automated conversion speed, overcoming the limitations of third-party converters that lack such semantic understanding

Inventive Principle:
Principle #23Feedback

4Manufacturing precision

If structured migration with dedicated teams is undertaken, then conversion accuracy is improved, but time and cost increase

Engineering Contradiction:
Improveconversion accuracyVSAvoidmigration time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The conversion tool enables continuous automated processing of VFP code through multiple passes (analysis pass building semantic models, generation pass creating .NET code). This continuous automated action achieves high conversion accuracy without the time loss associated with manual review and iteration by dedicated migration teams

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10691434B2System and method for converting a first programming language application to a second programming language application
Publication Date: 2020.06.23 MACROSOFT INC
  • US10691434B2 patent drawing
  • US10691434B2 patent drawing
  • US10691434B2 patent drawing

AI summary

A method for converting a first programming language application to a second programming language application, including: generating for the first programming language application a listing of source application files; iterating through the first programming language application files to generate tokens from the files source code; based thereon, building a dictionary for the first programming language application; generating second programming language application files with the dictionary; and stitching the second programming language application files together into the second programming language application.