DETAILED ACTION
This action is responsive to the Applicant’s response filed 6/12/26.
As indicated in Applicant’s response, claims 1, 7, 13 have been amended. Claims 1-20 remain and are pending prosecution.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1, 3-6, 13-16 is/are rejected under § 35 U.S.C. 103 as being unpatentable over Zhang
et al, USPN: 11,579,868 (herein Zhang) in view of Gunarathne et al, USPubN: 2025/0259127
(herein Gunarathne) and Carrara et al, USPubN: 2025/0085931 (herein Carrara)
As per claim 1, Zhang discloses a system for application modernization using machine learning (ML), the system comprising: one or more memories having stored thereon computer-executable instructions that, when executed by one or more processors, cause the system to:
receive software development information (see templates, declarative logic, source code from below) corresponding to one or more applications (Fig. 2; refactoring of a software application - col. 10 li. 31-47), the software development information including human-readable code (refactoring templates expressed in particular format (JASON-based by specifying source code components - col. 12 li. 19-32; developers to write declarative business logic, using custom source code - col. 12 li. 35-48; templates 112, source code 116 - Fig. 3);
provide the software development information to an ML model (col. 7 li. 34-40; col. 12 li 40-45; col. 10 li. 45-47; ML models col. 9 li. 20-31) wherein the ML model:
(i) is trained (col. 13 li. 14-23, col. 13 li. 32-43) using application modernization training data (source code 116, code segments 402, vectorized segments 404, model data store 412 Fig. 4; col. 12 li. 51-65) corresponding to best practices (e.g. improve performance, reduce exposure to vulnerabilities, leverage a service reliable infrastructure, enable more efficient development - col. 2 li 46-53) for modernizing historical applications (porting legacy software applications to more modern computer programming languages col. 2 li. 47-50) based upon historical software development information (col. 12 li. 66 to col. 13, li. 5; see legacy software applications from above),
(ii) includes a machine learning model (ML) trained to interpret the human- readable code (Fig. 3; declarative business logic, using custom source code col. 12 li. 35-48) and extract technical requirements (rules - col. 10 li. 45-48; input to the model is an application artifact segment … the model training … may traverse the graph-based representation … to extract syntactic paths … syntactic path vectors … representation of the segment with values representing the terminal nodes … along with information about linkage between the nodes – col. 15 li. 30-47 – Note0: refactoring rules expressed in augmented programming language of ML models – col. 10, li. 43-48 – and training to extract syntactic paths in form of vectors and values thereof representing inter-node linkages defining the syntax hierarchy of a decomposed source code segment reads on extracting technical requirement, in terms of rules and vectorized linkage for one or more syntactic/proposed patterns of a code decomposition – see Abstract – underlying pattern learning – col. 3 li. 7-17 - for a software modernization and code refactoring purposes – col. 2 li. 19-35) from the human-readable code (input source code - col. 15 li. 17-23), and
(iii) generates application modernization information (refer to a) and b) from below) corresponding to at least one application (col. 13 li. 14-20; col. 17 li. 50 to col. 13 li. 5) of the one or more applications, the application modernization information including
(a) one or more technical requirements (GNNs graph level, node level, edge level prediction of refactoring changes to address various types of anti-patterns or other modernization issues - col. 12 li. 51-63; synthetic vectors based on the AST with attention weights single vector or embedding representing the anti-pattern code snippet - col. 13 li. 2-9; refactoring rules - col. 2 li. 32-42; refactoring rules … for augmented programming logic defining refactoring machine learning models col. 7 li. 29-39; refactoring rules expressed in a augmented programming language or ML model(s) col. 10, li. 43-48; neural networks, weights of connection between nodes col. 13 li. 27-38 ) of a corresponding application (see above) and
(b) one or more application modernization recommendations (col. 9 li. 32-44; automated refactoring processes and other software modernization related issues - col 10 li. 1-19; IDE where a modernization plug-in or other tool can be used to provide refactoring recommendations based on ML refactoring models - col. 10 li. 28-32; refactoring preview, locations in the source code associated with refactoring rules, proposed modifications – col. 11 li. 42-57) of the corresponding application based upon the one or more technical requirements (e.g. syntax patterns linkage and associated vectored values of a decomposition per Note0); and
responsive to generating the application modernization information (see above), provide (see provider 100 – Fig. 1) the application modernization information to a computing device (device
106, user 104 - Fig. 1; modernization service to automatically refactor source code, refactoring of
software applications undergoing modernization - col. 3 li. 28-45; users may interact with the
provider network across networks 108 such as via API calls makes a request - col. 3, li. 62 to col. 4 li. 7; col. 4 li. 6-26; col. 7 li. 53-56).
A) Zhang does not explicitly disclose using a ML training to interpret human readable code
in terms of using a large language model (LLM) to interpret the human-readable code.
Zhang discloses human-readable code provided as declarative input to the refactoring engine
in form of domain-specific language (col. 12 li. 34-45) and this entails implementation of the
refactoring infrastructure or analytic tool with capability of an intelligent model that can account for
significance of the domain-specific constraints or patterns that satisfy the domain in which the input
language is being written.
Gunarathne discloses use of a migration tool (para 0028) adapted to handle and accelerate
modernization process (para 0037, 0054; Fig. 2-3) in form of generative AI (para 0072-0073; Fig.
11A) through code analysis, ingestion of knowledge base and patterns via use of Large Language
Model (LLM 354 - para 0054) to train and assist with recommendation associated with combining
legacy application (para 0074) and providing refactoring disposition.
Carrara also discloses use of a Large Language Model (para 0070) as part of a industrial
IDE with support of a generative AI system in connection with visualization runtime, editor screens
coupling interactive and automation means to implement control of the AI model including various
types of design input (para 0070-0071; Fig. 9) with feedback provided from the generative AI (para
0076) in form of code recommendations (code/project recommendations 518 - Fig. 8-9; feedback
518 - para 0062, 0073)
Therefore, based on the adaptive approach using deep learning by way of layered Neural
network to generate recommendation in Zhang (col. 13 li. 27-49) it would have been obvious for one
of ordinary skill in the art before the effective filing date of the invention to implement the machine
learning intelligence system in Zhang SO that ML training (e.g. neural network) geared for the
modernization recommendations indicative of best practices such as refactoring and improving
application software would employ accelerated processing by way of Large Language Model - as set
forth Gunarathne modernization system - within a generative AI approach- as in Carrara also using
LLM - to interpret and process various types of design input such as domain-specific human
readable code in Zhang; because
machine-learning methodology implemented in terms of generative AI in the use of highly
specialized subset of Deep learning such as a LLM can be adapted specifically to understand and
deeply interpret human-readable language or code thereby to generate equally human-readable language or code, where a LLM can understand human-readable input set such as structured
language, natural text or domain-specific programming language or script instructions for
the intent-based information, or context in which the language is being written, to be understood by
the LLM such that the artificial intelligence model or generative AI capability thereof can derive
recommendation or new requirements towards improving upon the state of the input text
contextualized under some domain of applications or specific endeavors that are particularly
purported to improve (e.g. software modernization) via feedback or output from the machine
learning and generative AI aspect thereof.
As per claim 3, Zhang discloses system of claim 1, wherein the one or more technical requirements include at least one of:
(i) application functionality,
(ii) application rules (refactoring rules - col. 2 li. 32-42; refactoring rules for augmented programming logic defining refactoring machine learning models - col. 7 li. 29-39; refactoring rules expressed in a augmented programming language or ML model(s) - col. 10, li. 43-48),
(iii) user experiences,
(iv) application security (reduce exposure to vulnerabilities security vulnerabilities - col. 2 li. 46-55)
(v) application deployment, or
(vi) application performance.\ (e.g. to improve operational performance - col. 2, li. 46-55).
As per claim 4, Zhang discloses system of claim 3, wherein the application modernization
information indicates more than one application having a same technical requirement (multiple instances, each but may share some general traits or act in common ways - col. 29 li. 6 -65; provider network container service multiple containers can share a common operating system - col. 6 li. 12-37).
As per claim 5, Zhang discloses system of claim 1, wherein the one or more application modernization recommendations include at least one of: (i) deduplicating applications having redundant technical requirements, (ii) generating new source code for an application (source code addition - col. 18, li. 61-64; create new source code - col. 37 li. 37-42), (iii) rewriting existing source code (refers to rewriting legacy software - col. 2 li. 46-48; modification to the portion of source code - col. 18 li. 60-62) of the application, (iv) retiring the application, (v) retaining the application, (vi) re-platforming the application, (vii) repurchasing the application, or (viii) rehosting the application.
As per claim 6, Zhang discloses system of claim 5 wherein:
the ML model is further trained (executes a model resulting in refactoring predictions indicating actions associated with the source code segment to modify the associated source code - col. 19 li. 25-36) to generate the new source code, and/or rewrite (e.g. modify replace source code create new source code - col. 19 li. 33-42; rewriting legacy software - col. 2 li. 46-48) the existing source code; and the system further comprises instructions that, when executed by the one or more
processors, cause the system to:
generate, via the ML model (see trained from above), at least a portion (displayed in association with the portion of source code displayed in a source code editor - col. 19 li. 31-36) of the new source code (create new source code - col. 19 li. 33-42); and/or
rewrite (see above), via the ML model, at least a portion of the existing source code (see above).
As per claim 13, Zhang discloses a computer-implemented method for application modernization using machine learning (ML), the computer-implemented method comprising:
receiving, by one or more processors, software development information corresponding to one or more applications, the software development information including human-readable code;
providing, by the one or more processors, the software development information to an ML model,
wherein the ML model:
(i) is trained using application modernization training data corresponding to best practices for modernizing historical applications based upon historical software development information,
(ii) includes a large language model (LLM) trained to interpret the human- readable code and extract technical requirements from the human-readable code, and
(iii) generates application modernization information corresponding to at least one application of the one or more applications, the application modernization information including (a) one or more technical requirements of a corresponding application and (b) one or more application modernization recommendations of the corresponding application based upon the one or more technical requirements; and
providing, by the one or more processors, the application modernization information to a computing device.
( All of which having been addressed in claim 1)
As per claim 14, refer to rejection of claim 3.
As per claim 15, refer to rejection of claim 5.
As per claim 16, refer to rejection of claim 6
Claims 2 is/are rejected under § 35 U.S.C. 103 as being unpatentable over Zhang et al,
USPN: 11,579,868 (herein Zhang) in view of Gunarathne et al, USPubN: 2025/0259127 (herein
Gunarathne) and Carrara et al, USPubN: 2025/0085931 (herein Carrara) and further in view of
Karwan et al, USPubN: 2020/0081934 (herein Karwan)
As per claim 2, Zhang does not explicitly disclose system of claim 1, wherein the application modernization information includes a heatmap indicating one or more of application cloud readiness or application modernization complexity diagrams.
Zhang discloses generating a weighted graph or graph-based dependency relationships
among application components as for identifying anti-patterns, estimated costs as part of the
modernization tool recommendation (col. 7 li. 22-28) in which the ML-based refactoring techniques
apply a GNN equipped with graph-based analysis using a tree model representation identifying code
portion associated with anti-pattern for creating syntactic vectors with attention weights to be
destined for deep learning (col. 12 li. 52-65)
Karwan discloses use of machine learning accuracy for recommendation accuracy (para
0044) tree structure analysis or decision tree recommendation (para 0061, 0072, 0085, 0093) and
deriving heatmap (para 0083; Fig. 4) as visualization data (para 0071) association with using
historical data (para 0091-0092) to generate semantic for web application optimization (Fig. 3), the
recommendation based on clusters, or groupings from the decision tree to form nodes labeled
categories into a machine learning technique (para 0095) as part of the recommendation system,
where selectable items from a tree can be used to generate a heatmap visualization data (para 0117;
Fig. 13); hence use of tree or graph-based analysis of cluster or labeled grouping and generating
heatmap visualization data in association with the tree/graph for identification of nodes/groupings as
input into in a machine learning-based recommendation for web application optimization is
recognized.
Therefore, it would have been obvious for one of ordinary skill in the art before the effective
filing date of the invention to implement the graph-based analysis in Zhang so that the tree-analytic
can support grouping and labeling node of interest thereby to generate heatmap - as set forth in
Karwan - indicating application portions of weight to be considered as input into a machine learning-
based recommendation tool underlying the modernization framework; because
ML models built from assigned weights to nodes in accordance to an analytic domain that
uses Heatmap construction as part of a framework that packages high-dependency weights into what
is to become hot spots visually discernable from a visualized map as set forth above constitute a
enrichment to the ML process due to the intelligent decision preprocessing thereof by which the
selecting portions processed visually from graph attached weights would be facilitated and rendered
more effective in regard to the intent to specially enlist information of weight, or code portions
considered "hot portions" ( heatmap information) indicative of cluster or grouping (anti-patterns as
in Zhang) that can be promptly subjected to labeling or ingestion into a structured configuration (or
vectorized input) which in turn would enable accelerated processing by a subsequent machine
learning by which a very domain-specific, context/intend-based type of recommendation for a
application can be derived; and particularly so, when the source application data is pre-processed for
analysis in form of weighted graph or tree nodes as set forth in Zhang.
Claims 7-12, 17-20 is/are rejected under § 35 U.S.C. 103 as being unpatentable over Zhang
et al, USPN: 11,579,868 (herein Zhang) in view of Gunarathne et al, USPubN: 2025/0259127
(herein Gunarathne) and Carrara et al, USPubN: 2025/0085931 (herein Carrara) and further in view
of Polleri et al, USPubN: 2021/0081819 (herein Polleri)
As per claim 7, Zhang discloses system of claim 1, wherein:
to generate the application modernization information (refer to claim 1), the system further comprises instructions that, when executed by the one or more processors, cause the system to:
receive, from the computing device, a request (col. 23 li. 18-26; API via which users can request server-related information - col. 9, li. 12-31; col. 9 li. 15-20) associated with modernizing (modernization service 102 - col. 9, li. 7-15; modernization services 102, recommend refactoring actions, source code as part of the request - col. 18 li. 19-41) an application of the one or more applications;
wherein the ML is trained at least to generate responses that emulate technical knowledge of an application developer (legacy software applications to more modern computer programming languages - col. 2 li. 47-50; developers to write declarative business logic, using custom source code - col. 12 li. 35-48 - Note1: porting legacy applications and translating developers declarative logic or source code into ML-generated recommendations - col. 19 li. 25-36 - for code refactoring reads on emulating technical knowledge of the developers as part of a response to the request for modernization recommendation initiated from the developer input code) of the application;
generate, by the ML, a response (see above) to the request; and provide the response to the computing device (refer to claim 1).
B) Zhang does not explicitly disclose application modernization system including the ML model in terms of
(i) wherein the ML model includes an ML chatbot; wherein the system is caused to
receive request associated with modernizing an application and provide the request to the ML chatbot,
(ii) wherein the ML chatbot is trained to generate responses (that emulate technical
knowledge of an application developer) and
generate, by the ML chatbot a response to the request and provide the response to the computing device.
Polleri discloses a chatbot for defining (Fig. 7; para 0204-0205) a machine learning solution, where the chatbot is part of a bot system (para 0122) that provides or initiates communications such
as receiving messages, post message calls, SMS or conversational messaging using content conversion
via a REST Api (para 0124), where a user can engage a bot for generating a machine learning application, and directing, via conversation flow of the bot, task to perform on the user behalf (para
0125; Fig .4) using input utterances directed into a chatbot to enable the user’s intent to be parameterized for the intended machine learning (para 0125) where executing the user input using a
machine learning through the chatbot can solve application of classification, regression and product
or algorithm recommendation (para 0315, 0350), the machine learning services as part of a larger
recommender system and service execution based thereon (para 0392) to carry out received user
requests for such services using cognition capability of the chatbot (para 0112, 0141) via input/output states of a conversation flow (para 0124-0125) or using a skill bot to interpret the user
intent (para 0153)
Therefore, based on the interactive flows or communication exchange between the users and
the refactoring service in Zhang (col. 3 li. 62 to col. 4 li. 15) it would have been obvious for one of
ordinary skill in the art before the effective filing date of the invention to implement the ML framework in Zhang so that the flow of user communication with Zhang's ML-based modernization
system would include support of
1) a bot application equipped with a ML chatbot in support of ML activities of the
modernization system in Zhang, using a ML chatbot - as per Polleri - to convey user definition,
configuration and interactive messages with code refactoring as part of user request for effectuating
modernization of software, thereby causing the system to receive the user and provide the request to
the ML chatbot - as set forth in Polleri;
2) wherein the ML chatbot is trained to generate responses (that emulate technical knowledge of an application developer) and generate, by the ML chatbot - as in Polleri - a response to the request for initiating a ML and provide the response to the computing device of the requesting
user; because
capability integrated with a chatbot extends beyond the mere interpretation of specific
constructs received in a mere configuration UI or a designer dashboard, as a chatbot as an intelligent
agent can interpret beyond impasse or uncertainty imposed/caused by nuances of human intention or
layers of abstraction/subtlety of a natural language in which the human communicates an intent,
including a chat effect of wrapping over certain language barriers or nuance-types obstacles, so to
filter essence and extract deeper context of a communication messages passed via the chatbot
between the users and the communication frontend of the ML framework with respect to intents,
thereby accelerating and consolidating the process of collecting significant information needed to
implement a machine learning whose parameterization is to be aligned with intents and context of
user/developer declarative input.
As per claim 8, Zhang discloses system of claim 7, further comprising instructions that, when executed by one or more processors, cause the system to:
train a base ML model using generic application developer training data (col. 13 li. 14-42) corresponding to best practices (improve performance, reduce exposure to vulnerabilities, leverage a service reliable infrastructure, enable more efficient development - col. 2 li 46-53) of a generic application developer;
fine-tune (see refine previously learned parameters from below) the base ML model using one or more specific application developer training datasets (iteratively train the model - col. 14 li. 46-53; templates expressed in particular format (JASON-based by specifying source code components - col. 12 li. 19-32; developers to write declarative business logic, using custom source code - col. 12 li. 35-48; templates 112, source code 116 - Fig. 3) corresponding to one or more specific application developers (to address anti-patterns and other issues from software developers or other users - col. 3 li. 28-34) of the one or more applications, each specific application developer training dataset representing technical knowledge of a specific application developer (see previously learned … mitigate degradation … over time from below) for a corresponding application (e.g. trained through repeated exposure of training data, training and validation process may be repeated using new training data to refine previously learned parameters to mitigate degradation of model accuracy over time - col. 14 li. 19-43), and
to generate one or more fine-tuned ML models (see iteratively train from above; using new training data to refine previously learned parameters - col. 14 li. 19-43) associated with the one or more specific application developers (col. 12, li. 35-48); and
store the one or more fine-tuned ML models on the one or more memories (Note2: iteratively
train a ML to refine the training using refined parameter effect from a previous run - see col. 14 li. 19-43 - reads on storing one or more of the refined ML model instances),
wherein the ML chatbot (refer to rationale B of claim 7) is one such fine-tuned ML model.
As per claim 9, Zhang discloses system of claim 8, wherein each specific application developer training dataset indicates source code changes (executes a model resulting in refactoring predictions indicating actions associated with the source code segment to modify the associated source code - col. 19 li. 25-36; e.g. modify replace source code create new source code - col. 19 li. 33-42) of the specific application developer for the corresponding application.
As per claim 10, Zhang discloses system of claim 8, further comprising instructions that, when executed by the one or more processors, cause the system to:
obtain an indication (e.g. templates expressed in a particular format (JASON-based by specifying source code components - col. 12 li. 19-32; developers to write declarative business logic, using custom source code - col. 12 li. 35-48; templates 112, source code 116 - Fig. 3) of a specific application developer, of the one or more specific application developers (refer to claim 8);
identify the fine-tuned ML model (refer to claim 8) associated with the indicated specific application developer; and
retrieve the identified fine-tuned ML model from the one or more memories (refer to store the fine-tune model and Note2), for use as the ML chatbot (see above).
As per claim 11, Zhang discloses system of claim 10, wherein the indication is based upon the application developer of the application (developers to write declarative business logic, using custom source code - col. 12 li. 35-48; templates 112, source code 116 - Fig. 3; col. 6, li. 61-64; application artifacts including source code intermediate files … obtained for software applications undergoing analysis – col. 7 li. 16-20) indicated by the request (refer to claim 7).
As per claim 12, Zhang discloses a system for application modernization using a machine learning (ML) chatbot (refer to rationale B of claim 7), the system comprising one or more memories having stored thereon computer-executable instructions that, when executed by one or more processors, cause the system to:
receive, from a user via a computing device, a request associated with modernizing an application;
provide the request to the ML chatbot, wherein the ML chatbot is trained at least to generate responses that emulate technical knowledge of an application developer of the application;
in response to providing the request to the ML chatbot, generate, by the ML chatbot, a response to the request; and provide the response to the computing device.
(( All of which having been addressed in claim 7)
As per claim 17, Zhang discloses computer-implemented method of claim 13, wherein:
the ML model includes an ML chatbot; and
generating the application modernization information further comprises:
receiving, by the one or more processors from the computing device, a request associated with modernizing an application of the one or more applications;
providing, by the one or more processors, the request to the ML chatbot, wherein the ML chatbot is trained at least to generate responses that emulate technical knowledge of an application developer of the application;
generating, by the ML chatbot, a response to the request; and providing, by the one or more processors, the response to the computing device.
( All of which having been addressed in claim 7)
As per claim 18, refer to rejection of claim 8.
As per claim 19, refer to rejection of claim 10.
As per claim 20, refer to rejection of claim 11.
Response to Arguments
Applicant's arguments filed 6/12/26 have been fully considered but they are not persuasive. Following are the Examiner’s observations in regard thereto.
(A) The Applicant has submitted that Zhang correcting of anti-patterns through ML analytics does not teach extracting technical requirements as currently recited in claims 1 and 13 (Applicant's Remarks pg. 9 bottom). Premature allegation on merits of a newly added limitation is considered largely MOOT in view of the changes in the prosecution to address the language change.
(B) The Applicant has submitted that Zhang (or Guanarathne or Carrara) reference do/does not perform extracting of requirements by the LLM and effectuating any modernization recommendation based on those extracted requirements (Applicant's Remarks pg. 10 to pg. 11). The patentability merits of this newly added limitation is deemed prematurely raised or largely misplaced.
( C) The Applicant has submitted that that Karwan as cited for the subject matter of claim 2 does not teach historical data and textual data in a way to remedy to the deficiencies by Zhang, Guanarathne and Carrara; and that Polleri use of chatbot does not suggest using chatbot for a modernization application (Applicant's Remarks pg. 12). The argument in regard to a deficiency by Karwan and Guanarathne does not appear to refer to context of the logic expressed via specific prongs set forth with the obviousness rationale presented with claim 2 or claim 7; hence determination as to whether Karwan or Guanarathne teachings have been proper or insufficient for one skill in the art to enunciate a proposed 103 type combination of teachings is deemed impossible. Therefore, the rejection based on Karwan and Guanarathne will stand.
Conclusion
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any extension fee pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Tuan A Vu whose telephone number is (571) 272-3735. The examiner can normally be reached on 8AM-4:30PM/Mon-Fri.
If attempts to reach the examiner by telephone are unsuccessful, the examiner's supervisor, Chat Do can be reached on (571)272-3721.
The fax phone number for the organization where this application or proceeding is assigned is (571) 273-3735 ( for non-official correspondence - please consult Examiner before using) or 571-273-8300 ( for official correspondence) or redirected to customer service at 571-272-3609.
Any inquiry of a general nature or relating to the status of this application should be directed to the TC 2100 Group receptionist: 571-272-2100.
/Tuan A Vu/
Primary Examiner, Art Unit 2193
August 20, 2026