G06F8/72

Systems and methods for providing stable deployments to mainframe environments

A method for providing mainframe codebase maintenance and security is performed by a mainframe deployment device. The method includes importing the mainframe codebase from a mainframe device. The mainframe codebase includes at least one code region including at least one code element. The method also includes identifying the code regions and initializing a branch repository corresponding to at least one identified code region. The method includes querying the imported mainframe codebase to identify, for the code elements, a user identifier and a source region. The method includes populating the branch repositories with the code elements based on the respective source region. The method includes applying a code quality scan to the populated branch repositories to identify a code quality issue in the respective code elements. The method also includes submitting at least one code element having an identified code quality issue to a user device correct the code quality issues.

LEARNING AND USING PROGRAMMING STYLES

Techniques are described herein for using artificial intelligence to “learn,” statistically, a target programming style that is imposed in and/or evidenced by a code base. Once the target programming style is learned, it can be used for various purposes. In various implementations, one or more generative adversarial networks (“GANs”), each including a generator machine learning model and a discriminator machine learning model, may be trained to facilitate learning and application of target programming style(s). In some implementations, the discriminator(s) and/or generator(s) may operate on graphical input, and may take the form of graph neural networks (“GNNs”), graph attention neural networks (“GANNs”), graph convolutional networks (“GCNs”), etc., although this is not required.

Identifying microservices for a monolith application through static code analysis

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.

System and method for application migration between cloud platforms

The present invention provides for migration of application running on source cloud platform to target cloud platform. In operation, the present invention provides for retrieving analysis-data including source code of application to be migrated, hereinafter referred to as application M, a runtime data of application M, and target cloud platform data. The present invention further provides for identifying migration parameters based on analysis-data. Further, migration readiness of application M to target cloud platform is assessed based on migration parameters. Furthermore, a migration readiness report is generated based on the migration parameters, migration readiness assessment and the runtime data. Yet further, deployment configurations for the application M are generated as per the target cloud platform based on the migration readiness report. Yet further, the application is migrated to the target cloud platform based on the generated deployment configurations by creating Continuous Integration/Continuous Deployment (CI/CD) pipeline.

System and method for application migration between cloud platforms

The present invention provides for migration of application running on source cloud platform to target cloud platform. In operation, the present invention provides for retrieving analysis-data including source code of application to be migrated, hereinafter referred to as application M, a runtime data of application M, and target cloud platform data. The present invention further provides for identifying migration parameters based on analysis-data. Further, migration readiness of application M to target cloud platform is assessed based on migration parameters. Furthermore, a migration readiness report is generated based on the migration parameters, migration readiness assessment and the runtime data. Yet further, deployment configurations for the application M are generated as per the target cloud platform based on the migration readiness report. Yet further, the application is migrated to the target cloud platform based on the generated deployment configurations by creating Continuous Integration/Continuous Deployment (CI/CD) pipeline.

METHOD AND SYSTEM FOR PERFORMING PROGRAM TRANSFORMATIONS FOR PRECISE ANALYSIS OF ENTERPRISE APPLICATIONS

For performing analysis of enterprise application, code analysis tools may be used. But currently available analysis tools lack support for analyzing database processing statements, such as structured query language (SQL) statements and inter-service communication statements that may be present along with the programming language statements in the computer program. Present disclosure provides method and system for performing program transformations for precise analysis of enterprise applications. The system transform each database processing statement present in a computer program associated with the enterprise application into host programming language statement and each service call into function call statements. In particular, the system replaces syntax of embedded language with equivalent host programming language syntax. The system then uses existing code analyzers for performing analysis of the computer program to get data flow information of the computer program.

Software management device

A software management device capable of converting a term used in a model and an abstraction level thereof. The software management device includes an input unit that inputs a target model, a storage unit that hierarchically stores functions and/or names constituting the model, and an in-model name replacement unit that selects a corresponding function and/or name from the storage unit according to the input model input from the input unit, and replaces a function and/or a name in the input model with the selected function and/or name.

PERFORMANCE-BASED CODE ALTERATION FOR ANIMATION CONTROL RIGS
20220028151 · 2022-01-27 · ·

An animation system is provided for generating an animation control rig configured to manipulate a skeleton of an animated object. A partition separation process enables software changes to be inserted into uncompiled computer code associated with the animation control rig. Analysis of the uncompiled computer code is implemented relative to a performance metric. Based on the analysis in view of the performance matric, one or more partitions are determined in the uncompiled computer code to partition the code into separate code blocks. The uncompiled code is separated at the partition and updated with the software change. The updated code is compiled to generate the animation control rig.

Feature flag pipeline

Techniques performed by a data processing system for automatically managing feature flags in source code include automatically analyzing source code associated with a software program to identify a set of first feature flags; obtaining, from a configuration server associated with the software program, dynamic configuration information associated with a second set of feature flags, wherein the dynamic configuration information includes configuration information for configuring one or more operating parameters of the software program without redeploying the software program; correlating the set of first feature flags included in the source code with the set of second feature flags to match the dynamic configuration information with the feature flags of the set of first feature flags; generating feature flag reporting information; providing the feature flag reporting information to at least one consuming application; and causing the at least one consuming application to perform at least one action associated with at least one feature flag of the first set of feature flags.

METHOD AND SYSTEM FOR UPDATING LEGACY SOFTWARE
20210365258 · 2021-11-25 · ·

A method includes analyzing operational code to determine identifiers used within the operational code. The method further includes grouping like identifiers based a relational aspect of the identifiers. The method further includes, for one or more identifier groups, determining potential feature(s) of the identifier group(s). The method further includes testing the potential feature(s) based on a corresponding feature test suite to produce feedback regarding meaningfulness of the potential feature(s). The method further comprises, when the meaningfulness is above a threshold, adding the potential feature(s) to a feature set. The method further includes, when the meaningfulness is at or below the threshold, adjusting analysis parameter(s), grouping parameter(s), feature parameter(s), and/or testing parameter(s).