G06F8/72

SYSTEM AND METHOD FOR SOFTWARE ARCHITECTURE REDESIGN
20220413846 · 2022-12-29 · ·

The present invention provides a system and method for automation of the creation of a software application as a combination of microservices by extraction of discrete elements of software functionality from a monolithic architectures using dynamic and static analysis of code and non-code-related artefacts; forming them into microservices such that the software application is recreated as serverless hardware infrastructure while also validating the transformed code. In many cases, serverless microservices will significantly reduce the hardware requirement for software systems.

Storage structure for pattern mining
11531527 · 2022-12-20 · ·

A computer implemented method includes obtaining an original graph data structure including multiple stored nodes connected by multiple edges. The stored nodes include multiple operation stored nodes and multiple data stored nodes. The method further includes generating an auxiliary graph data structure from the original graph data structure. The auxiliary graph data structure includes the operation stored nodes. The method further includes executing a pattern mining tool on the auxiliary graph data structure to obtain a pattern list, traversing the auxiliary graph data structure to identify multiple instances of identified patterns in the pattern list, and presenting the instances.

Storage structure for pattern mining
11531527 · 2022-12-20 · ·

A computer implemented method includes obtaining an original graph data structure including multiple stored nodes connected by multiple edges. The stored nodes include multiple operation stored nodes and multiple data stored nodes. The method further includes generating an auxiliary graph data structure from the original graph data structure. The auxiliary graph data structure includes the operation stored nodes. The method further includes executing a pattern mining tool on the auxiliary graph data structure to obtain a pattern list, traversing the auxiliary graph data structure to identify multiple instances of identified patterns in the pattern list, and presenting the instances.

Source Code Analysis Apparatus and Source Code Analysis Method
20220391203 · 2022-12-08 ·

When any one or a combination of a ticket, a source code change history, and a source code is input, a source code analysis apparatus generates information of a factor pattern from the information, and a factor metrics calculation unit calculates factor metrics regarding the factor pattern as measured information regarding the factor pattern. In addition, the QCD measurement value is acquired from the information, the QCD index is calculated based on the QCD measurement value, and the correlation calculation unit calculates a correlation coefficient for a pair of the factor metrics and the QCD index, stores the correlation coefficient in the correlation list, calculates a score for the pair of the factor pattern and the QCD measurement value, and generates the important factor pattern information table in which the score is assigned to the pair of the factor pattern and the QCD measurement value.

Source Code Analysis Apparatus and Source Code Analysis Method
20220391203 · 2022-12-08 ·

When any one or a combination of a ticket, a source code change history, and a source code is input, a source code analysis apparatus generates information of a factor pattern from the information, and a factor metrics calculation unit calculates factor metrics regarding the factor pattern as measured information regarding the factor pattern. In addition, the QCD measurement value is acquired from the information, the QCD index is calculated based on the QCD measurement value, and the correlation calculation unit calculates a correlation coefficient for a pair of the factor metrics and the QCD index, stores the correlation coefficient in the correlation list, calculates a score for the pair of the factor pattern and the QCD measurement value, and generates the important factor pattern information table in which the score is assigned to the pair of the factor pattern and the QCD measurement value.

COMPUTER CODE REFACTORING
20220374232 · 2022-11-24 ·

Systems and methods are provided for automated computer code editing. The method includes training a code-editing neural network model using a corpus of code editing data samples, including the pre-editing samples and post-editing samples, and parsing the pre-editing samples and post-editing samples into an Abstract Syntax Tree (AST). The method further includes using a grammar specification to transform the AST tree into a unified Abstract Syntax Description Language (ASDL) graph for different programming languages, and using a gated graph neural network (GGNN) to compute a vector representation for each node in the unified Abstract Syntax Description Language (ASDL) graph. The method further includes selecting and aggregating support samples based on a query code with a multi-extent ensemble method, and altering the query code iteratively using the pattern learned from the pre- and post-editing samples.

COMPUTER CODE REFACTORING
20220374232 · 2022-11-24 ·

Systems and methods are provided for automated computer code editing. The method includes training a code-editing neural network model using a corpus of code editing data samples, including the pre-editing samples and post-editing samples, and parsing the pre-editing samples and post-editing samples into an Abstract Syntax Tree (AST). The method further includes using a grammar specification to transform the AST tree into a unified Abstract Syntax Description Language (ASDL) graph for different programming languages, and using a gated graph neural network (GGNN) to compute a vector representation for each node in the unified Abstract Syntax Description Language (ASDL) graph. The method further includes selecting and aggregating support samples based on a query code with a multi-extent ensemble method, and altering the query code iteratively using the pattern learned from the pre- and post-editing samples.

Blackbox matching engine

A method and apparatus are disclosed for enhancing operable functionality of input source code files from a software program by identifying a first code snippet and a first library function which generate similar outputs from a shared input by parsing each and every line of code in a candidate code snippet to generate a templatized code snippet data structure for the first code snippet, and then testing the templatized code snippet data structure against extracted library function information to check for similarity of outputs between the first code snippet and the first library function in response to a shared input so that the developer is presented with a library function recommendation which includes the first code snippet, the first library function, and instructions for replacing the first code snippet with the first library function.

Blackbox matching engine

A method and apparatus are disclosed for enhancing operable functionality of input source code files from a software program by identifying a first code snippet and a first library function which generate similar outputs from a shared input by parsing each and every line of code in a candidate code snippet to generate a templatized code snippet data structure for the first code snippet, and then testing the templatized code snippet data structure against extracted library function information to check for similarity of outputs between the first code snippet and the first library function in response to a shared input so that the developer is presented with a library function recommendation which includes the first code snippet, the first library function, and instructions for replacing the first code snippet with the first library function.

Method and Apparatus for Merging a Plurality of Software Code Change Versions
20220365775 · 2022-11-17 ·

A method for merging a plurality of software code change versions, where a merging apparatus may first analyze code change areas in a software code preliminarily merged version and two different software code change versions. After change intents of the two code change areas are determined, the merging apparatus eliminates, based on a conflict elimination rule set and the change intents of the two code change areas, a conflict block in the software code preliminarily merged version.