US2023273775A1PendingUtilityA1

Remote application modernization

Assignee: APPLAND INCPriority: Dec 2, 2019Filed: Apr 11, 2023Published: Aug 31, 2023
Est. expiryDec 2, 2039(~13.4 yrs left)· nominal 20-yr term from priority
G06F 8/35G06F 8/60G06F 8/34G06F 8/453G06F 11/3684G06F 8/447G06F 8/433G06F 8/74G06F 8/72G06F 8/76G06F 8/443
71
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Various embodiments of the present technology generally relate to the characterization and improvement of software applications. More specifically, some embodiments relate to systems and methods for modeling code behavior and generating new versions of the code based on the code behavior models. In some embodiments, a method of improving a codebase includes recording a run of the existing code, characterizing the code behavior via one or more models, prototyping new code according to a target language and target environment, deploying the new code to the target environment, and comparing the behavior of the new code to the behavior of the existing code. In some implementations, generating new code based on the behavior models includes using one or more machine learning techniques for code generation based on the target language and environment.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A system, comprising:
 a remote recording component executing on an application server, the remote recording component comprising recording instructions that, when executed by one or more application server processors, cause the one or more application server processors to:
 generate one or more data files based on information captured about an application comprising existing code during a run of the application; and 
 transmit the one or more data files to an analysis component on an analysis server; and 
   the analysis component executing on an analysis server, the analysis component comprising analysis instructions that, when executed by one or more analysis server processors, cause the one or more analysis server processors to:
 generate a behavior model representing a behavior of the existing code, wherein generating the behavior model comprises:
 interrogating the one or more data files to:
 identify and label one or more functional areas of the existing code; and 
 identify one or more steps performed by the application and one or more code paths connecting the one or more steps, wherein the behavior model comprises operational code path data including information about the application correlated with the one or more steps and the one or more code paths; and 
 
 
 generate new code in a target code language different than a language of the existing code based on the behavior model, wherein a behavior of the new code matches the behavior of the existing code of the application. 
   
     
     
         2 . The system of  claim 1 , further comprising:
 a user interface component executing on a remote computing system, the user interface component comprising interface instructions that, when executed by one or more computing system processors, cause the one or more computing system processors to:
 receive user input indicating a request to record the run of the application; and 
 in response to the user input, send the request to the remote recording component. 
   
     
     
         3 . The system of  claim 2 , wherein the user interface component comprises a browser extension. 
     
     
         4 . The system of  claim 1 , wherein the analysis component comprises further analysis instructions that, when executed by the one or more analysis server processors, cause the one or more analysis server processors to:
 generate a graphical depiction of the behavior model; and   transmit the graphical depiction of the behavior model to a user interface component on a remote computing system.   
     
     
         5 . The system of  claim 4 , further comprising:
 the user interface component executing on a remote computing system, the user interface component comprising interface instructions that, when executed by one or more computing system processors, cause the one or more computing system processors to:
 receive user input indicating a request to record the run of the application; 
 in response to the user input, send the request to the remote recording component; and 
 display the graphical depiction of the behavior model. 
   
     
     
         6 . The system of  claim 1 , wherein the information captured about the application comprises dependencies, logic, and data queries. 
     
     
         7 . The system of  claim 1 , wherein the recording instructions to generate the one or more data files comprises further recording instructions that, when executed by the one or more application server processors, cause the one or more application server processors to:
 store information related to the one or more functional areas of the application and the one or more code paths of the application in the one or more data files.   
     
     
         8 . The system of  claim 1 , wherein the instructions to generate the one or more data files comprises further instruction that, when executed by the one or more application server processors, cause the one or more application server processors to:
 execute test cases designed to explore user interactions with the application.   
     
     
         9 . The system of  claim 1 , wherein the analysis component comprises further analysis instructions that, when executed by the one or more analysis server processors, cause the one or more analysis server processors to:
 generate a functional visualization of the existing code based on the behavior model, wherein the functional visualization comprises a plurality of elements each representing a functional area of the one or more functional areas, and wherein a size of each element of the plurality of elements is representative of a density of an underlying codebase of the respective functional area.   
     
     
         10 . The system of  claim 9 , wherein the information about the application comprises decision points and branches between functional areas of the application. 
     
     
         11 . A computer-implemented method, comprising:
 generating, by a remote recording component executing on an application server, one or more data files based on information captured about an application comprising existing code during a run of the application;   transmitting, by the remote recording component, the one or more data files to an analysis component executing on an analysis server;   generating, by the analysis component, a behavior model representing a behavior of the existing code, wherein the generating the behavior model comprises:
 interrogating the one or more data files to:
 identify and label one or more functional areas of the existing code; and 
 identify one or more steps performed by the application and one or more code paths connecting the one or more steps, wherein the behavior model comprises operational code path data including information about the application correlated with the one or more steps and the one or more code paths; and 
 
   generating, by the analysis component, new code in a target code language different than a language of the existing code based on the behavior model, wherein a behavior of the new code matches the behavior of the existing code of the application.   
     
     
         12 . The computer-implemented method of  claim 11 , further comprising:
 receiving, via a user interface component executing on a remote computing system, user input indicating a request to record the run of the application; and   in response to the user input, sending, by the user interface component, the request to the remote recording component.   
     
     
         13 . The computer-implemented method of  claim 12 , wherein the user interface component comprises a browser extension. 
     
     
         14 . The computer-implemented method of  claim 11 , further comprising:
 generating, by the analysis component, a visual depiction of the behavior model.   
     
     
         15 . The computer-implemented method of  claim 14 , further comprising:
 displaying, by a user interface component executing on a remote computing system, the visual depiction of the behavior model.   
     
     
         16 . The computer-implemented method of  claim 11 , wherein the information captured about the application comprises dependencies, logic, and data queries. 
     
     
         17 . The computer-implemented method of  claim 11 , wherein the generating the one or more data files comprises:
 storing information related to the one or more functional areas of the application and the one or more code paths of the application in the one or more data files.   
     
     
         18 . The computer-implemented method of  claim 11 , wherein generating the one or more data files comprises executing a run of the application and executing test cases designed to explore user interactions with the application. 
     
     
         19 . The computer-implemented method of  claim 11 , further comprising:
 generating, by the analysis component, a functional visualization of the existing code based on the behavior model, wherein the functional visualization comprises a plurality of elements each representing a functional area of the one or more functional areas, and wherein a size of each element of the plurality of elements is representative of a density of an underlying codebase of the respective functional area.   
     
     
         20 . The computer-implemented method of  claim 19 , wherein the information about the application comprises decision points and branches between functional areas of the application.

Join the waitlist — get patent alerts

Track US2023273775A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.