Machine learning assisted source code refactoring to mitigate anti-patterns

    公开(公告)号:US11579868B1

    公开(公告)日:2023-02-14

    申请号:US17118375

    申请日:2020-12-10

    Abstract: Techniques are described for enabling the automatic refactoring of software application source code to mitigate identified anti-patterns and other software modernization-related issues. A software modernization system analyzes software applications to generate various types of modernization report information, where the report information can include identifications of various types of design and cloud anti-patterns, proposed decompositions of monolithic applications into subunits, refactoring cost information, recommended modernization tools and migration paths, among other such information. A software modernization system further includes a refactoring engine that can automatically refactor source code based on such application analysis information, e.g., to automatically address identified anti-patterns, restructure code for decomposition, etc. A refactoring engine performs refactoring actions based on refactoring templates, machine learning (ML) refactoring models, or other input.

    Dynamic cloud anti-pattern detection for a modernization assessment service

    公开(公告)号:US11544046B1

    公开(公告)日:2023-01-03

    申请号:US17003568

    申请日:2020-08-26

    Abstract: Techniques are described for enabling an application modernization system to efficiently identify various types of software development “anti-patterns” (including cloud anti-patterns) associated with software applications. An anti-pattern is broadly any characteristic of a software application or system that represents an undesirable or suboptimal solution to a problem within a given software design context. Depending on the particular software design context, examples of possible anti-patterns and cloud anti-patterns can include the use of insecure network protocols, an application's reliance on local file system access, the use of a deprecated or outdated class, function, or library, etc. An application modernization system described herein includes a modernization assessment client application that identifies the presence of anti-patterns in users' software applications using a collection of anti-pattern definitions (e.g., defined based on an anti-pattern definition syntax) obtained from an application modernization service of a cloud provider network.

    Ontology-based software modernization assessment engines

    公开(公告)号:US11467828B1

    公开(公告)日:2022-10-11

    申请号:US16894521

    申请日:2020-06-05

    Abstract: Techniques are described for enabling a software modernization assessment service of a cloud provider network to maintain a modernization knowledge base and to use the knowledge base to generate modernization recommendations for users' software applications. A modernization knowledge base comprises one or more modernization ontologies, where a modernization ontology defines concepts and relationships used to describe modernization tool capabilities and limitations, modernization strategies, etc. The modernization assessment service uses the modernization knowledge base to automate various software modernization processes including, for example, providing modernization recommendations for software applications (e.g., applications identified by users as candidates for modernization) and generating modernization assessment reports. A modernization knowledge base, including an ontology understood by a modernization assessment engine, can be readily updated to account for new modernization strategy information, modernization tool information, and modernization process and tool constraints, without necessitating changes to static definitions of such information defined by a modernization assessment service.

    Automatic source code refactoring to mitigate anti-patterns

    公开(公告)号:US11809841B1

    公开(公告)日:2023-11-07

    申请号:US17118361

    申请日:2020-12-10

    CPC classification number: G06F8/33 G06F9/547 G06N20/00

    Abstract: Techniques are described for enabling the automatic refactoring of software application source code to mitigate identified anti-patterns and other software modernization-related issues. A software modernization system analyzes software applications to generate various types of modernization report information, where the report information can include identifications of various types of design and cloud anti-patterns, proposed decompositions of monolithic applications into subunits, refactoring cost information, recommended modernization tools and migration paths, among other such information. A software modernization system further includes a refactoring engine that can automatically refactor source code based on such application analysis information, e.g., to automatically address identified anti-patterns, restructure code for decomposition, etc. A refactoring engine performs refactoring actions based on refactoring templates, machine learning (ML) refactoring models, or other input.

    System management using natural language statements

    公开(公告)号:US11100146B1

    公开(公告)日:2021-08-24

    申请号:US15933849

    申请日:2018-03-23

    Abstract: Technologies are provided for managing computer system resources using natural language statements. A natural language statement can be received from a user computing device by a management service. The natural language statement can be analyzed to identify an executable command, and the command can be executed against one or more system resources. If the system resources are located in separate computing environments, different operations can be used to target the system resources in the separate computing environments. A script repository can be searched to identify an executable script containing the command referenced by the received natural language statement. A message can be transmitted to the user device, recommending execution of the identified script. In a different or further embodiment, if a given user is not authorized to execute a given command or script, a request for authorization can be sent to a supervisor of the given user.

Patent Agency Ranking