Systems and methods for code clustering analysis and transformation
AssigneesmartShift Technologies, Inc.
InventorsAlbrecht Gass, Stefan Hetges, Nikolaos Faradouris, Oliver Flach
Life of this patent
Estimating the term…
Abstract
The present application is directed towards systems and methods for cluster-based code analysis and transformation. Cluster-based analysis may group code objects based on their similarity across functional areas, such as where a code object is cloned in multiple areas (e.g. sort functions that are duplicated across areas, or reports or tables that are identical). In some implementations, objects may be grouped into clusters by type, or based on reading from or writing to a common table. In some implementations, clustering at different layers may be possible.
Claims18
A method for cluster-based code analysis and transformation, comprising:
- selecting, by an analysis agent executed by a first computing device, a first plurality of code objects of a source installation of an application to be transformed to a target installation of the application, responsive to each of the first plurality of code objects having an output to a common second code object;
- generating, by the analysis agent, a first identifier for the selected first plurality of code objects based on the common second code object;
- adding, by a transformer executed by the first computing device, the first identifier to each of the selected first plurality of code objects;
- determining, by the transformer, that the common second code object is replaced with a third code object during transformation of the source installation to the target installation;
- responsive to the determination, identifying each of the first plurality of code objects, by the transformer, via the added first identifier based on the common second code object;
- and
- modifying, by the transformer, each of the identified first plurality of code objects, to output to the third code object, responsive to the determination.
A system for cluster-based code analysis and transformation, comprising:
- an analyzer client comprising an analysis agent and a transformer, in communication with a source installation of an application to be transformed to a target installation of the application;
- wherein the analysis agent is configured to:
- select a first plurality of code objects of a source installation of an application to be transformed to a target installation of the application, responsive to each of the first plurality of code objects having an output to a common second code object,
- generate a first identifier for the selected first plurality of code objects based on the common second code object, and
- add, by a transformer executed by the first computing device, the first identifier to each of the selected first plurality of code objects;
- wherein the transformer is configured to:
- determine that the common second code object is replaced with a third code object during transformation of the source installation to the target installation,
- responsive to the determination, identify each of the first plurality of code objects via the added first identifier based on the common second code object, and
- modify each of the identified first plurality of code objects, to output to the third code object, responsive to the determination.
Dependencies are inferred from the claim text.