Automated GUI Modernization via Application Attribute Modeling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The manual modernization of legacy software is error-prone and time-consuming due to its complexity and volume, making it difficult to customize transformations and modernize all legacy code effectively.

Innovation Solution

A system and method that includes a set of programmable instructions executed by hardware processors to capture runtime and static application attributes of a web application, generate an application attribute model, and automatically convert it to a target programming language and framework, producing executable program code and non-executable assets for user interface modernization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If manual modernization methods are used to transform legacy software, then customization of transformations is possible, but the process becomes error-prone and time-consuming due to complexity and volume

Engineering Contradiction:
Improveautomation of modernization processVSAvoidtime required for modernization
Core Design Contradiction:
Extent of automationVSLoss of time

Solution Approach 1:

The patent creates abstract syntax tree (AST) representations and intermediate representation (IR) models that serve as copies of the legacy code structure. These models capture the semantic meaning and relationships without requiring manual analysis, enabling automated transformation while preserving the original code's intent and reducing human error

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent replaces manual mechanical processes of code analysis and transformation with automated computational systems. The compiler infrastructure and program analysis tools automatically parse, represent, and transform code through defined rules and algorithms, eliminating the need for manual inspection and rewriting of hundreds or thousands of lines of code

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

2Manufacturing precision

If manual transformation methods are used for modernizing legacy code, then some level of control is maintained, but manufacturing precision deteriorates due to human error in handling large code volumes

Engineering Contradiction:
Improveaccuracy of code transformationVSAvoidcomplexity of manual management process
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent creates abstract syntax tree (AST) representations and intermediate representation (IR) models that serve as copies of the legacy code structure. These models capture the semantic meaning and relationships without requiring manual analysis, enabling automated transformation while preserving the original code's intent and reducing human error

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent implements validation mechanisms that verify the correctness of transformed code by comparing the intermediate representation models before and after transformation. This feedback loop ensures that the semantic meaning and relationships are preserved, maintaining high transformation accuracy even as automation handles increasing code complexity

Inventive Principle:
Principle #23Feedback

3Productivity

If automated code generation is implemented to modernize legacy software, then productivity increases, but the system requires complex program analysis and model generation capabilities

Engineering Contradiction:
Improvespeed of modernizationVSAvoidcomplexity of analysis system
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the complex modernization task into distinct segments: parsing legacy code into abstract syntax trees, generating intermediate representation models, applying transformation rules, and validating output. This segmentation allows each component to be independently developed and optimized, managing overall system complexity while maintaining high productivity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces intermediate representation (IR) models as intermediary structures between the legacy code and the target modernized code. These IR models serve as a bridge that captures the semantic meaning of the original code in a language-agnostic format, enabling automated transformation without requiring direct complex analysis between different programming languages and frameworks

Inventive Principle:
Principle #24Intermediary (Mediator)

4Manufacturing precision

If comprehensive code analysis is performed to ensure accurate transformation, then manufacturing precision improves, but the extent of automation required increases system complexity

Engineering Contradiction:
Improveaccuracy of transformationVSAvoidlevel of automated analysis
Core Design Contradiction:
Manufacturing precisionVSExtent of automation

Solution Approach 1:

The patent creates abstract syntax tree (AST) representations and intermediate representation (IR) models that serve as copies of the legacy code structure. These models capture the semantic meaning and relationships without requiring manual analysis, enabling automated transformation while preserving the original code's intent and reducing human error

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent implements validation mechanisms that verify the correctness of transformed code by comparing the intermediate representation models before and after transformation. This feedback loop ensures that the semantic meaning and relationships are preserved, maintaining high transformation accuracy even as automation handles increasing code complexity

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11604662B2System and method for accelerating modernization of user interfaces in a computing environment
Publication Date: 2023.03.14 VIRTUSA CORP
  • US11604662B2 patent drawing
  • US11604662B2 patent drawing
  • US11604662B2 patent drawing

AI summary

A system and method for accelerating modernization of user interfaces in a computing environment is disclosed. The method includes receiving request for transforming a current graphical user interface (GUI) corresponding to current programming language and associated software framework to a target GUI corresponding to target programming language and associated software framework. The method includes capturing run time application attributes during an active interactive session of the user interface with user devices. Further, the method includes determining static application attributes from the source code of the current application. The method includes generating application attribute model representing relationships between static application attributes and run time application attributes. The method further includes automatically generating a target application attribute model corresponding to the target programming language and associated software framework based on the application attribute model. Also, the method includes generating a set of executable program code and non-executable assets corresponding to the target programming language and associated software framework based on the target application attribute model. Furthermore, the method includes outputting the generated set of executable program code and non-executable assets on a user interface of the user device.