Method And System For Updating Legacy Software

Patent No. US12032941 (titled "Method And System For Updating Legacy Software") was filed by Updraft Llc on Jun 6, 2021.

What is this patent about?

’941 is related to the field of computer software, specifically the automated updating of legacy software. Many older software programs are written in outdated programming languages, making them difficult to maintain and optimize for modern hardware. The patent addresses the problem of efficiently converting these legacy systems into modern, maintainable code without manual recoding.

The underlying idea behind ’941 is to automatically analyze legacy code, identify its key functionalities or features , and then use this understanding to generate new code in a modern programming language. This involves data mining the legacy code to identify identifiers, grouping these identifiers based on their relationships, and then determining potential features based on these groupings.

The claims of ’941 focus on a method performed by a computing device. The method involves obtaining legacy operational code that includes multiple versions written in different programming languages. The code is divided into sections based on the programming languages, and then data mined to identify identifiers. Features are determined by grouping lines of code based on these identifiers, and a set of requirements is generated from these features. Finally, new operational code is created using a new programming language based on these requirements.

In practice, the invention involves a multi-stage process. First, the system analyzes the legacy code to identify identifiers, which are names for variables, functions, and other code elements. These identifiers are then grouped based on various relationships, such as their proximity in the code, their semantic similarity, or their association with specific data. These identifier groups are then used to infer potential features of the code, such as specific functionalities or business rules.

The invention differentiates itself from prior approaches by automating the process of understanding and converting legacy code. Instead of relying on manual analysis or simple translation, the system uses data mining and feature extraction techniques to identify the core functionalities of the legacy code. This allows for a more accurate and efficient conversion to a modern programming language, while also eliminating the need for emulators or converters to run the old code.

How does this patent fit in bigger picture?

Technical landscape at the time

In the late 2010s when ’941 was filed, at a time when software updates were typically implemented using monolithic deployments, systems commonly relied on manual code analysis and refactoring rather than automated feature extraction, and when hardware or software constraints made cross-language interoperability non-trivial.

Novelty and Inventive Step

The examiner allowed the claims because the prior art failed to disclose or suggest determining that the plurality of versions of the legacy operational code includes more than one legacy programming language; dividing the legacy operational code into a plurality of sections based on different legacy programming languages; data mining the plurality of sections of the legacy operational code to determine a plurality of identifiers; and determining a plurality of features of the plurality of sections of the legacy operational code based on grouping lines of code of the plurality of versions based on the plurality of identifiers.

Claims

This patent contains 10 claims, with independent claims 1 and 6. Independent claim 1 focuses on a method for converting legacy operational code into new operational code, while independent claim 6 focuses on a computing device configured to perform the same conversion. The dependent claims generally elaborate on and refine the steps and features described in the independent claims.

Key Claim Terms New

Definitions of key terms used in the patent claims.

Term (Source)Support for SpecificationInterpretation
Legacy operational code
(Claim 1, Claim 6)
“Many programs that are still used today have evolved over years or even decades. When the program was first created, it was written in a first programming language to operate a first type of computing device. As years pass, the first programming language may have become obsolete, the types of computing device running the program have improved in processing power and memory capacity, and it is very likely that different programmers are updating the program.”Operational code written in an outdated programming language that is being analyzed and updated.
Legacy programming language
(Claim 1, Claim 6)
“When the program was first created, it was written in a first programming language to operate a first type of computing device. As years pass, the first programming language may have become obsolete, the types of computing device running the program have improved in processing power and memory capacity, and it is very likely that different programmers are updating the program.”An outdated programming language in which the legacy operational code is written.
Plurality of identifiers
(Claim 1, Claim 6)
“Since the advent of the computer, thousands of different programming languages have been created. Some programming languages use an imperative form (i.e., as a sequence of operations to perform), while others use a declarative form (i.e. the desired result is specified, not how to achieve it).”Multiple identifiers determined by data mining the sections of the legacy operational code.
Plurality of sections
(Claim 1, Claim 6)
“For instance, a convention in one language may be a requirement in another. Further, each language conventions affects individual source files and requires unique compilers and/or interpreters to process.”Multiple portions into which the legacy operational code is divided, based on the different legacy programming languages used.
Set of requirements
(Claim 1, Claim 6)
“As programming languages have evolved, they are less tied to the hardware of the computers executing them. This frees computing programmers to create more diverse and computationally intensive programs with less effort and in less time.”A collection of requirements generated from the features of the legacy operational code, used to create new operational code.

Patent Family

Patent Family

File Wrapper

The dossier documents provide a comprehensive record of the patent's prosecution history - including filings, correspondence, and decisions made by patent offices - and are crucial for understanding the patent's legal journey and any challenges it may have faced during examination.

  • Date

    Description

  • Get instant alerts for new documents

US12032941

UPDRAFT LLC
Application Number
US17303715
Filing Date
Jun 6, 2021
Status
Granted
Expiry Date
Dec 10, 2038
External Links
Slate, USPTO, Google Patents