-
公开(公告)号:US20230168887A1
公开(公告)日:2023-06-01
申请号:US17538355
申请日:2021-11-30
摘要: Methods, systems, and computer program products for identifying microservices from a monolith application through static code analysis are provided herein. A method includes performing a static code analysis to extract multiple features of a monolith application; partitioning code elements of the monolith application into multiple groups using an agglomerative clustering process, wherein the agglomerative clustering process is based on the extracted multiple features and a set of clustering metrics; obtaining at least one weight corresponding to one or more of: at least one of the multiple features and at least one of the multiple groups; adjusting the groups based on the at least one weight; generating a list of candidate microservices for the monolith application, wherein each candidate microservice in the list corresponds to a different one of the adjusted multiple groups; and outputting the list of candidate microservices to at least one of a system and a user.
-
公开(公告)号:US11836538B2
公开(公告)日:2023-12-05
申请号:US17498406
申请日:2021-10-11
IPC分类号: G06F9/54 , G06F16/28 , G06F16/901 , G06N3/02
CPC分类号: G06F9/541 , G06F16/285 , G06F16/9024 , G06N3/02
摘要: One embodiment provides a method, including: receiving information describing an application to be split into a plurality of microservices; identifying, utilizing a microservices advisor application, application elements of the application; generating, utilizing the microservices advisor application and from the application elements, a heterogenous graph, wherein each node within the heterogenous graph represents an application element and wherein each edge within the heterogenous graph represents a relationship between two nodes connected by the edge; identifying, based upon user input identifying preferences of relationships between nodes, groups of nodes within the heterogenous graph sharing a common attribute; and providing, from the microservices advisor application, a recommendation, based upon the identified groups of nodes, for splitting the application into microservices, wherein the recommendation includes a number of microservices for the application and application elements that should be included within each of the microservices.
-
3.
公开(公告)号:US20230084685A1
公开(公告)日:2023-03-16
申请号:US17467690
申请日:2021-09-07
摘要: Methods, systems, and computer program products for constraints-based refactoring of monolith applications through attributed graph embeddings are provided herein. A computer-implemented method includes performing an analysis of source code of a monolith application to identify structural features and behavioral features; generating a graph structure representing the monolith application based on the identified structural features and the identified behavioral features, wherein the graph structure comprises: a plurality of nodes, each node corresponding to one of a plurality of software modules of the monolith application, and a plurality of edges between the plurality nodes, each edge representing a relationship of the corresponding nodes; automatically identifying constraints associated with the plurality of nodes in the graph structure based on the analysis of the source code; clustering the nodes using a convolutional neural network based the constraints; and outputting candidate microservices corresponding to respective ones of the clusters for refactoring the monolith application.
-
公开(公告)号:US11768679B2
公开(公告)日:2023-09-26
申请号:US17538355
申请日:2021-11-30
摘要: Methods, systems, and computer program products for identifying microservices from a monolith application through static code analysis are provided herein. A method includes performing a static code analysis to extract multiple features of a monolith application; partitioning code elements of the monolith application into multiple groups using an agglomerative clustering process, wherein the agglomerative clustering process is based on the extracted multiple features and a set of clustering metrics; obtaining at least one weight corresponding to one or more of: at least one of the multiple features and at least one of the multiple groups; adjusting the groups based on the at least one weight; generating a list of candidate microservices for the monolith application, wherein each candidate microservice in the list corresponds to a different one of the adjusted multiple groups; and outputting the list of candidate microservices to at least one of a system and a user.
-
公开(公告)号:US11782704B1
公开(公告)日:2023-10-10
申请号:US17845267
申请日:2022-06-21
IPC分类号: G06F8/72
CPC分类号: G06F8/72
摘要: By analyzing transaction data of an executing application, an application graph is constructed, the application graph comprising a plurality of nodes and a plurality of edges connecting pairs of the plurality of nodes, a node in the application graph corresponding to a module of the application. The plurality of nodes is clustered into a set of clusters. Formation of a cluster in the set of clusters is analyzed, the analyzing identifying a central node of the cluster, a feature importance in placing a node into the cluster, and an edge importance in placing the node into the cluster. Responsive to a confidence value in the cluster being above a threshold confidence value, using the central node of the cluster, the application is refactored into a set of microservices, the cluster corresponding to a microservice, the central node of the cluster corresponding to a component of the microservice.
-
公开(公告)号:US20230111379A1
公开(公告)日:2023-04-13
申请号:US17498406
申请日:2021-10-11
IPC分类号: G06F9/54 , G06F16/28 , G06F16/901 , G06N3/02
摘要: One embodiment provides a method, including: receiving information describing an application to be split into a plurality of microservices; identifying, utilizing a microservices advisor application, application elements of the application; generating, utilizing the microservices advisor application and from the application elements, a heterogenous graph, wherein each node within the heterogenous graph represents an application element and wherein each edge within the heterogenous graph represents a relationship between two nodes connected by the edge; identifying, based upon user input identifying preferences of relationships between nodes, groups of nodes within the heterogenous graph sharing a common attribute; and providing, from the microservices advisor application, a recommendation, based upon the identified groups of nodes, for splitting the application into microservices, wherein the recommendation includes a number of microservices for the application and application elements that should be included within each of the microservices.
-
公开(公告)号:US20210271466A1
公开(公告)日:2021-09-02
申请号:US16806630
申请日:2020-03-02
发明人: Giriprasad Sridhara , Utkarsh Milind Desai , Srikanth Govindaraj Tamilselvam , Senthil Kumar Kumarasamy Mani
IPC分类号: G06F8/65 , G06F8/75 , G06F16/11 , G06F16/2457 , G06F40/205
摘要: Methods, systems, and computer program products for assisting dependency migration are provided herein. A computer-implemented method includes determining differences between a first version of a dependency used by a software application and each of a plurality of upgrade candidates, the plurality of upgrade candidates comprising at least one of: (i) one or more newer versions of the dependency and (ii) a substitute dependency; identifying, based on the determined differences for a given one of the upgrade candidates, one or more sections of code of the software application that need to be patched in order to be compatible with the given upgrade candidate; and generating a modified version of the software application for the given upgrade candidate that comprises one or more patches for at least a portion of the identified one or more sections of code.
-
公开(公告)号:US20210264283A1
公开(公告)日:2021-08-26
申请号:US16798757
申请日:2020-02-24
发明人: Srikanth Govindaraj Tamilselvam , Senthil Kumar Kumarasamy Mani , Jassimran Kaur , Utkarsh Milind Desai , Shreya Khare , Anush Sankaran , Naveen Panwar , Akshay Sethi
摘要: One embodiment provides a method, including: receiving a training dataset to be utilized for training a deep-learning model; identifying a plurality of aspects of the training dataset, wherein each of the plurality of aspects corresponds to one of a plurality of categories of operations that can be performed on the training dataset; measuring, for each of the plurality of aspects, an amount of variance of the aspect within the training dataset; creating additional data to be incorporated into the training dataset, wherein the additional data comprise data generated for each of the aspects having a variance less than a predetermined amount, wherein the data generated for an aspect results in the corresponding aspect having an amount of variance at least equal to the predetermined amount; and incorporating the additional data into the training dataset.
-
9.
公开(公告)号:US11847443B2
公开(公告)日:2023-12-19
申请号:US17467690
申请日:2021-09-07
摘要: Methods, systems, and computer program products for constraints-based refactoring of monolith applications through attributed graph embeddings are provided herein. A computer-implemented method includes performing an analysis of source code of a monolith application to identify structural features and behavioral features; generating a graph structure representing the monolith application based on the identified structural features and the identified behavioral features, wherein the graph structure comprises: a plurality of nodes, each node corresponding to one of a plurality of software modules of the monolith application, and a plurality of edges between the plurality nodes, each edge representing a relationship of the corresponding nodes; automatically identifying constraints associated with the plurality of nodes in the graph structure based on the analysis of the source code; clustering the nodes using a convolutional neural network based the constraints; and outputting candidate microservices corresponding to respective ones of the clusters for refactoring the monolith application.
-
10.
公开(公告)号:US20230177337A1
公开(公告)日:2023-06-08
申请号:US17543312
申请日:2021-12-06
CPC分类号: G06N3/082 , G06N3/086 , G06N3/084 , G06K9/6263 , G06K9/6218
摘要: Methods, systems, and computer program products for multi-objective driven refactoring of a monolith application using reinforcement learning are provided herein. A computer-implemented method includes obtaining multiple code modules of a monolith application and a plurality of conflicting metrics for determining a set of microservices for the monolith application; performing a reinforcement learning-based clustering process that iteratively generates a plurality of clusters comprising the code modules based at least in part on feedback provided for the plurality of conflicting metrics at each iteration; generating candidate microservices for the monolith application, wherein each candidate microservice corresponds to a different one of the plurality of clusters; and outputting the generated candidate microservices to at least one of a system and a user.
-
-
-
-
-
-
-
-
-