Patent classifications
G06F8/72
Isolated code detection from application code analysis
Disclosed are various embodiments for isolated code detection from application code analysis. Various application components may be identified from a source code file or a bytecode file of a computing application. A graph model representative of the computing application is generated having nodes and bridges that connect some nodes to other nodes. The graph model is generated such that at least one of the nodes is an isolated node having less than a threshold number of bridges connecting to other nodes, which is indicative that a corresponding one of the application components can be implemented as an independently deployable component of the computing application.
SCRIPTING LANGUAGE COMPUTER PROGRAM MODIFICATION METHODOLOGY, SYSTEM AND SOFTWARE
A method, system, and software for adding to, extending or otherwise modifying a pre-existing computer program, written in a scripting language, with a new source code, written in a scripting language, without the need to sham underlying source code of the pre-existing computer program or the newly modified source code.
Systems and methods for providing predictive quality analysis
The disclosed embodiments include methods and systems for providing predictive quality analysis. Consistent with disclosed embodiments, a system may receive input data associated with a software program and compare the input data with one or more predetermined analysis parameters. The system may further determine at least one risk rating based on the comparison, wherein each risk rating corresponds to a distinct software category. The system may perform additional operations, including determining at least one adjustment to the software program based on the determined at least one risk rating, and prioritizing the at least one adjustment based on a predetermined adjustment priority standard. Furthermore, the system may provide a report including at least an indication of the at least one prioritized adjustment, a timeline for implementing the at least one prioritized adjustment, and plan implementing the at least one prioritized adjustment.
Software code converter for resolving redundancy during code development
A code converter uses machine learning to determine conflicts and redundancies in software code. Generally, the code converter uses machine learning to convert software code into vectors that represent the code. These vectors may then be compared with other vectors to determine similarities between code. The similarities may be used to detect conflicts and/or redundancies created during the development process (e.g., when a developer attempts to change the code).
Software code converter for resolving redundancy during code development
A code converter uses machine learning to determine conflicts and redundancies in software code. Generally, the code converter uses machine learning to convert software code into vectors that represent the code. These vectors may then be compared with other vectors to determine similarities between code. The similarities may be used to detect conflicts and/or redundancies created during the development process (e.g., when a developer attempts to change the code).
TRANSLATING CLUSTERS OF A MONOLITH APPLICATION TO MICROSERVICES
Methods, systems, and computer program products for translating clusters of a monolith application to microservices are provided herein. A computer-implemented method includes obtaining a plurality of candidate microservices for refactoring a monolith application, each candidate microservice including one or more of a plurality of software classes of the monolith application; analyzing the monolith application to identify one or more software functions in the plurality of software classes to expose as one or more application programming interfaces; automatically isolating non-overlapping software functions of the monolith application between the plurality of candidate microservices; converting source code corresponding to the identified one or more software functions into a standardized application programming interface format based at least in part on the isolating; and using the converted source code to generate a plurality of deployable microservices corresponding to the plurality of candidate microservices.
TRANSLATING CLUSTERS OF A MONOLITH APPLICATION TO MICROSERVICES
Methods, systems, and computer program products for translating clusters of a monolith application to microservices are provided herein. A computer-implemented method includes obtaining a plurality of candidate microservices for refactoring a monolith application, each candidate microservice including one or more of a plurality of software classes of the monolith application; analyzing the monolith application to identify one or more software functions in the plurality of software classes to expose as one or more application programming interfaces; automatically isolating non-overlapping software functions of the monolith application between the plurality of candidate microservices; converting source code corresponding to the identified one or more software functions into a standardized application programming interface format based at least in part on the isolating; and using the converted source code to generate a plurality of deployable microservices corresponding to the plurality of candidate microservices.
Monolithic computer application refactoring
Refactoring a monolithic computer application can include transforming textual input into context-aware tokens represented by machine-processable data structures, the textual input acquired from multiple sources of text associated with a computer application having a monolithic architecture for implementing one or more application processes. Based on co-occurrence frequencies among the context aware tokens, one or more groupings of context-aware tokens can be determined. An association between each grouping and a code construct can be determined. Invocation sequences based on time series analyses of computer-generated usage data generated in response to execution of the one or more application processes can be generated, each invocation sequence linking two or more code constructs based on a time series analysis linking groupings that correspond to the linked code constructs. A recommendation for refactoring the computer application into a plurality of microservices can be generated, each microservice corresponding to one or more invocation sequences.
Monolithic computer application refactoring
Refactoring a monolithic computer application can include transforming textual input into context-aware tokens represented by machine-processable data structures, the textual input acquired from multiple sources of text associated with a computer application having a monolithic architecture for implementing one or more application processes. Based on co-occurrence frequencies among the context aware tokens, one or more groupings of context-aware tokens can be determined. An association between each grouping and a code construct can be determined. Invocation sequences based on time series analyses of computer-generated usage data generated in response to execution of the one or more application processes can be generated, each invocation sequence linking two or more code constructs based on a time series analysis linking groupings that correspond to the linked code constructs. A recommendation for refactoring the computer application into a plurality of microservices can be generated, each microservice corresponding to one or more invocation sequences.
SECRETS SWAPPING IN CODE
A method, system, and computer program product are provided for swapping secrets in source code. One or more secrets in source code are identified by scanning the source code. The set of the one or more secrets are exported to a secrets manager. A reference ID for each secret in the set of the one or more secrets is received from the secrets manager. The source code is injected to replace each secret from the set of the one or more secrets with the corresponding reference ID.